Christopher wrote:
Changelog: Check that the handle and pointer passed to SetupDiDeleteDeviceInterfaceRegKey are valid to read from. This patch continues to address bug #12242
- if (!DeviceInterfaceData ||
- if (!DeviceInterfaceData || IsBadReadPtr(DeviceInterfaceData, sizeof(SP_DEVICE_INTERFACE_DATA)) ||
Don't ever use IsBadReadPtr and IsBadWritePtr functions. They are bad and even MS stopped using them. You have to use TRY-EXCEPT block around an access to the memory. For example see implementation of lstrcpyA (kernel32/string.c: 359).
- ok(!ret && GetLastError() == ERROR_INVALID_HANDLE, "Expected SetupDiDeleteDeviceInterfaceRegKey to return FALSE, got %s, \
+with error code: 6, got %d\n", ret ? "TRUE" : "FALSE", GetLastError());
This is bad way to split strings in c. Do something like this:
ok(!ret && GetLastError() == ERROR_INVALID_HANDLE, "Expected SetupDiDeleteDeviceInterfaceRegKey to return FALSE, got %s, " "with error code: 6, got %d\n", ret ? "TRUE" : "FALSE", GetLastError());
Vitaliy.