Код (C): CreateThread(NULL, 10000, (LPTHREAD_START_ROUTINE)Thread_SyncDATA, (VOID*)&list_process, 0, &ThreadID); заменить на Код (C): CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Thread_SyncDATA, (VOID*)&list_process, 0, &ThreadID);
M0rg0t, ТС говорит, что GetLastError возвращает "Недостаточно памяти для обработки команды". К гадалке не ходи, это из за того, что он явно указывает размер стека при создании потока. Лучше указать по умолчанию.
Smit, Учитывая что сервисных ошибок сопоставляется лишь несолько: То можно элементарно догадаться что проблема вторая, такой статус возвращается при не корректных параметрах при запросе на выделение памяти. superakira, > как работать с асинхронным апи, где и как чекать пендинг статусы в юм? Сам догадайся.
Тема тут вижу кипит. Вообщем-то я вроде разобрался в чём причина. Если у тебя перед функцией main объявляется много глобального "чего-то там", при инициализации окна, если в отладчике показывается только один основной поток, то функция CreateThread провальна, и сколько бы ты её не запускал в цикле, с любыми значениями она не заработает. Но если, кроме основного потока уже успели заработать ещё 3 "рабочих потока" , функция вызывается успешно. Я в функции main добавил задержку 3 секунды перед созданием окна, и вызов CreateThread происходит уже с инициализированными "1- основным потоком, и 3- рабочими потоками". Проходит естественно успешно.