Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 48 of file pnpinit.c.
Referenced by IopInitializePlugPlayServices().
{ HANDLE KeyHandle; NTSTATUS Status; PKEY_VALUE_FULL_INFORMATION KeyValueInformation; PUNICODE_STRING GroupTable; ULONG Count; UNICODE_STRING GroupString = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\System\\CurrentControlSet" L"\\Control\\ServiceGroupOrder"); /* ReactOS HACK for SETUPLDR */ if (KeLoaderBlock->SetupLdrBlock) { /* Bogus data */ PiInitGroupOrderTableCount = 0; PiInitGroupOrderTable = (PVOID)0xBABEB00B; return STATUS_SUCCESS; } /* Open the registry key */ Status = IopOpenRegistryKeyEx(&KeyHandle, NULL, &GroupString, KEY_READ); if (NT_SUCCESS(Status)) { /* Get the list */ Status = IopGetRegistryValue(KeyHandle, L"List", &KeyValueInformation); ZwClose(KeyHandle); /* Make sure we got it */ if (NT_SUCCESS(Status)) { /* Make sure it's valid */ if ((KeyValueInformation->Type == REG_MULTI_SZ) && (KeyValueInformation->DataLength)) { /* Convert it to unicode strings */ Status = PnpRegMultiSzToUnicodeStrings(KeyValueInformation, &GroupTable, &Count); /* Cache it for later */ PiInitGroupOrderTable = GroupTable; PiInitGroupOrderTableCount = (USHORT)Count; } else { /* Fail */ Status = STATUS_UNSUCCESSFUL; } /* Free the information */ ExFreePool(KeyValueInformation); } } /* Return status */ return Status; }