If I create a window with CreateWindow() and I specify LPVOID to be a pointer to a struct, why doesn't it work?

In the WM_CREATE I cast lParam to be the struct type and the data is just wrong...