Что я могу предположить о фактических значениях, которые возвращает 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;
}
...