- RtlInitUnicodeString(&KeyName,
- L"CompatibleIDs");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_MULTI_SZ,
- DeviceNode->CompatibleIDs.Buffer,
- DeviceNode->CompatibleIDs.MaximumLength);
-
- RtlInitUnicodeString(&KeyName,
- L"HardwareID");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_MULTI_SZ,
- DeviceNode->HardwareIDs.Buffer,
- DeviceNode->HardwareIDs.MaximumLength);
-
- /* Set 'DeviceDesc' value */
- RtlInitUnicodeString(&KeyName,
- L"DeviceDesc");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_SZ,
- DeviceNode->DeviceText.Buffer,
- DeviceNode->DeviceText.MaximumLength);
-
- /* Set 'LocationInformation' value */
- DPRINT("LocationInformation: %wZ\n", &DeviceNode->DeviceTextLocation);
- RtlInitUnicodeString(&KeyName,
- L"LocationInformation");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_SZ,
- DeviceNode->DeviceTextLocation.Buffer,
- DeviceNode->DeviceTextLocation.MaximumLength);
-
- /* Set 'Capabilities' value */
- RtlInitUnicodeString(&KeyName,
- L"Capabilities");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_DWORD,
- (PVOID)((ULONG_PTR)&DeviceNode->CapabilityFlags + 4),
- sizeof(ULONG));
-
- /* Set 'UINumber' value */
- if (DeviceNode->CapabilityFlags != NULL &&
- DeviceNode->CapabilityFlags->UINumber != (ULONG)-1)
- {
- RtlInitUnicodeString(&KeyName,
- L"UINumber");
- Status = NtSetValueKey(InstanceKey,
- &KeyName,
- 0,
- REG_DWORD,
- &DeviceNode->CapabilityFlags->UINumber,
- sizeof(ULONG));
- }
-