Elizabeth Figura (@zfigura) commented about dlls/ntoskrnl.exe/pnp.c:
- if (!SetupDiOpenDeviceInfoW( set, device_instance_id, NULL, 0, &sp_device ))
- {
ERR( "Failed to open device, error %#lx.\n", GetLastError() );SetupDiDestroyDeviceInfoList( set );return GetLastError();- }
- if (!SetupDiGetDevicePropertyW( set, &sp_device, property_key, property_type, data, size, required_size, flags ))
- {
DWORD err = GetLastError();if (err != ERROR_INSUFFICIENT_BUFFER)ERR( "Failed to get device property, error %#lx.\n", err);SetupDiDestroyDeviceInfoList( set );return GetLastError() == ERROR_SUCCESS? (err == ERROR_INSUFFICIENT_BUFFER ? STATUS_BUFFER_TOO_SMALL : err): GetLastError();
This is checking the last error from SetupDiDestroyDeviceInfoList(), which I don't think there's really any reason to do. We don't expect that to ever fail.