我可以假设GetLastError()返回的实际值是什么?
1。)返回值声明为DWORD,范围从0到4.294.967.295。
2。)但是,当看https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes时,似乎 仅定义了从0到16000的错误代码。 ->这是GetLastError()文档中引用的链接: https://docs.microsoft.com/en-us/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror。
我正在调用一些setupapi.h函数,例如SetupDiGetDeviceRegistryProperty,SetupDiEnumDriverInfo和SetupDiBuildDriverInfoList,当这些函数失败时,我想知道在这些情况下GetLastError返回的值是否可以容纳int。
请参阅1.)情况并非如此,而请参阅2.)情况则如此。
...
char buffer[MAXHARDWAREIDLEN];
if (!SetupDiGetDeviceRegistryProperty(deviceInfoSetHandle, &devInfoData, SPDRP_HARDWAREID, NULL, (PBYTE)buffer, sizeof(buffer), NULL))
{
returnValue = GetLastError();
break;
}
...