Commit 997bea9b authored by Alexander Morozov's avatar Alexander Morozov Committed by Alexandre Julliard

setupapi: Create DeviceInstance value in registry, delete todo_wine from test.

parent 6a5c1ca2
......@@ -2650,20 +2650,31 @@ HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(
samDesired, NULL, &interfKey, NULL);
if (!l)
{
if (instancePath)
{
LONG l;
struct DeviceInfo *devInfo =
(struct DeviceInfo *)ifaceInfo->device->Reserved;
l = RegCreateKeyExW(interfKey, instancePath, 0, NULL, 0,
samDesired, NULL, &key, NULL);
if (l)
l = RegSetValueExW(interfKey, DeviceInstance, 0, REG_SZ,
(BYTE *)devInfo->instanceId,
(lstrlenW(devInfo->instanceId) + 1) * sizeof(WCHAR));
if (!l)
{
if (instancePath)
{
SetLastError(l);
key = INVALID_HANDLE_VALUE;
LONG l;
l = RegCreateKeyExW(interfKey, instancePath, 0, NULL, 0,
samDesired, NULL, &key, NULL);
if (l)
{
SetLastError(l);
key = INVALID_HANDLE_VALUE;
}
else if (InfHandle)
FIXME("INF section installation unsupported\n");
}
else if (InfHandle)
FIXME("INF section installation unsupported\n");
}
else
SetLastError(l);
RegCloseKey(interfKey);
}
else
......
......@@ -816,7 +816,6 @@ static void testRegisterAndGetDetail(void)
SetLastError(0xdeadbeef);
ret = pSetupDiEnumDeviceInterfaces(set, NULL, &guid, 0, &interfaceData);
todo_wine
ok(ret, "SetupDiEnumDeviceInterfaces failed: %08x\n", GetLastError());
SetLastError(0xdeadbeef);
ret = pSetupDiGetDeviceInterfaceDetailA(set, &interfaceData, NULL, 0, &dwSize, NULL);
......@@ -836,7 +835,6 @@ static void testRegisterAndGetDetail(void)
ret = pSetupDiGetDeviceInterfaceDetailA(set, &interfaceData,
detail, dwSize, &dwSize, NULL);
ok(ret, "SetupDiGetDeviceInterfaceDetailA failed: %08x\n", GetLastError());
todo_wine
ok(!lstrcmpiA(path, detail->DevicePath), "Unexpected path %s\n",
detail->DevicePath);
HeapFree(GetProcessHeap(), 0, detail);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment