setupapi/tests: Test phantom value after device creation.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zhiyi Zhang 2019-03-15 11:40:41 +08:00 committed by Alexandre Julliard
parent b633777ed4
commit 35673c7e8e
1 changed files with 16 additions and 0 deletions

View File

@ -742,6 +742,11 @@ static void test_register_device_info(void)
SP_DEVINFO_DATA device = {0};
BOOL ret;
HDEVINFO set;
HKEY hkey;
LSTATUS ls;
DWORD type = 0;
DWORD phantom = 0;
DWORD size;
int i = 0;
SetLastError(0xdeadbeef);
@ -770,8 +775,19 @@ static void test_register_device_info(void)
ret = SetupDiCreateDeviceInfoA(set, "Root\\LEGACY_BOGUS\\0000", &guid, NULL, NULL, 0, &device);
ok(ret, "Failed to create device, error %#x.\n", GetLastError());
RegOpenKeyA(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Enum\\ROOT\\LEGACY_BOGUS\\0000", &hkey);
size = sizeof(phantom);
ls = RegQueryValueExA(hkey, "Phantom", NULL, &type, (BYTE *)&phantom, &size);
todo_wine ok(ls == ERROR_SUCCESS, "Got wrong error code %#x\n", ls);
todo_wine ok(phantom == 1, "Got wrong phantom value %d\n", phantom);
todo_wine ok(type == REG_DWORD, "Got wrong phantom type %#x\n", type);
ok(size == sizeof(phantom), "Got wrong phantom size %d\n", size);
ret = SetupDiRegisterDeviceInfo(set, &device, 0, NULL, NULL, NULL);
ok(ret, "Failed to register device, error %#x.\n", GetLastError());
size = sizeof(phantom);
ls = RegQueryValueExA(hkey, "Phantom", NULL, NULL, (BYTE *)&phantom, &size);
ok(ls == ERROR_FILE_NOT_FOUND, "Got wrong error code %#x\n", ls);
RegCloseKey(hkey);
ret = SetupDiCreateDeviceInfoA(set, "Root\\LEGACY_BOGUS\\0001", &guid, NULL, NULL, 0, &device);
ok(ret, "Failed to create device, error %#x.\n", GetLastError());