Mam mały problem związany właśnie z "access violation". Problem polega na tym, że mam DLL'a, a w nim kod (wersja delikatnie okrojona):

extern "C" DLL_API void Create(HWND hwnd) 
{ 
HINSTANCE hInstance = (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE); 

   CreateWindow("BOX_NS", NULL, WS_CHILD, 0, 0, 0, 0, hwnd, NULL, hInstance, NULL); 
} 

gdzie BOX_NS to stworzona wcześnij klasa. I tu pojawia sie problem, gdyż podczas wywoływania tej funkcji program czasami sie nie sypie a innym razem wywala sie przez "access violation" i wywala sie na CreateWindow.
Czy ktoś wie dlaczego tak jest i co zrobić, żeby program sie w tym miejscu nie wysypywał.