Windows api MessageBoxA не может работать с чистым стеком?
Я хочу вызвать функцию с чистым стеком, который может отрезать стек вызовов.
==================== начало псевдокода =========================== =====
stackBaseAddress = найти базовый адрес стека с помощью NtCurrentTeb
stackCurrentSize = stackBaseAddress - esp
резервный стек
memset (esp, 0, stackCurrentSize)
MessageBoxA (0, "1", 0, 0) <== здесь проблема, MessageBoxA завершается ошибкой, а GetLastError == 0
восстановить стек
============================= конец псевдокода =================== ==================
если нет memset(esp, 0, stackCurrentSize), все идет хорошо.
так что я думаю, что в стеке должно быть что-то, что нельзя стереть, но что?