Здесь написано «не проверять возвращаемые значения». Довольно важно в программировании на Win32, большинство функций API возвращает логическое значение или дескриптор, где FALSE или NULL указывают на ошибку. GetLastError () предоставляет код ошибки.
Дешевый способ проверить это без изменения кода - использовать отладчик для просмотра значения регистра EAX после вызова API. 0 означает сбой. В Visual Studio вы можете сделать это, используя псевдопеременные @eax и @err в окне Watch, соответственно возвращаемое значение функции и значение GetLastError.
Плохо, когда Windows начинает сбой вызовов API, возможно, из-за утечки ресурса. Это можно увидеть с помощью TaskMgr.exe, вкладка «Процессы». View + Select Columns и отметьте маркеры, объекты USER и объекты GDI. Обычно это последнее, восстановление контекста устройства и освобождение объектов рисования очень легко возиться. Вам не нужно ждать, пока оно не выйдет из строя, стабильно взбираясь число в одной из этих колонок - дешевая распродажа. Когда значение достигает 10000
, оно падает.