Повреждение кучи при использовании CreateWindowExW

У меня есть некоторые проблемы с повреждением кучи. Предупреждение можно наблюдать при использовании функции CreateWindowExW. Я знаю, что обычно это ошибка памяти, но как я могу найти ее в такой ситуации? Перед вызовом CreateWindowExW нет новых переменных, и я не могу войти в эту функцию. Вот код

HWND GetMainWnd(HINSTANCE hInstance){
static HWND hWnd = NULL;
if (hWnd)
    return hWnd;

RETURN_AT_ERROR(hInstance, NULL);

WNDCLASSEX wcex = { sizeof(WNDCLASSEX) };
wcex.style          = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc    = MainWndProc;
wcex.hInstance      = hInstance;
wcex.hCursor        = ::LoadCursorW(NULL, IDC_ARROW);
wcex.lpszClassName  = g_config->GetWndClass();

ATOM atom = ::RegisterClassExW(&wcex);
RETURN_AT_ERROR(atom != 0, NULL);

hWnd = ::CreateWindowExW(WS_EX_LEFT, g_config->GetWndClass(), 0, WS_POPUP | WS_MINIMIZEBOX | WS_CLIPCHILDREN, 0, 0, 0, 0, 0, 0, hInstance, 0);

return hWnd;}

На этой строке

hWnd = ::CreateWindowExW(WS_EX_LEFT, g_config->GetWndClass(), 0, WS_POPUP | WS_MINIMIZEBOX | WS_CLIPCHILDREN, 0, 0, 0, 0, 0, 0, hInstance, 0);

есть окно с предупреждением

Windows сработала точка останова в drm.exe. Это может быть связано с повреждением кучи, что указывает на ошибку в файле drm.exe или любой из загруженных им библиотек DLL. Это также может быть связано с тем, что пользователь нажимает клавишу F12, пока фокус drm.exe. Окно вывода может иметь больше диагностической информации.

Я нажимаю «Продолжить», и это показывает

Unhandled exception at 0x77dae753 in app.exe: 0xC0000374: A heap has been corrupted.

Однако CreateWindowExW возвращает ненулевое значение, и окно создается так, как должно быть ...

Ответы на вопрос(2)

Ваш ответ на вопрос