103 L"\\Control\\ServiceGroupOrder");
206 L"\\Control\\ServiceGroupOrder");
246 &KeyValueInformationGroupOrderList);
250 if (KeyValueInformation)
ExFreePool(KeyValueInformation);
256 (KeyValueInformationGroupOrderList->
DataLength))
260 KeyValueInformationGroupOrderList->
DataOffset);
265 KeyValueInformationGroupOrderList->
DataLength);
272 if (
Tag == *GroupOrder)
break;
280 ExFreePool(KeyValueInformationGroupOrderList);
333 HANDLE DeviceClassesHandle;
367 ParentHandle = EnumHandle;
403 DPRINT1(
"IoCreateDriverObject() failed\n");
417 DPRINT1(
"IoCreateDevice() failed\n");
434 DPRINT1(
"RtlCreateUnicodeString() failed\n");
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define NT_SUCCESS(StatCode)
#define KeInitializeEvent(pEvt, foo, foo2)
#define InitializeListHead(ListHead)
#define KeInitializeSpinLock(sl)
#define ExAllocatePool(type, size)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
enum _INTERFACE_TYPE INTERFACE_TYPE
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
#define DNF_NO_RESOURCE_REQUIRED
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
#define REG_OPTION_NON_VOLATILE
#define REG_CREATED_NEW_KEY
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSTATUS NTAPI IopOpenRegistryKeyEx(PHANDLE KeyHandle, HANDLE ParentKey, PUNICODE_STRING Name, ACCESS_MASK DesiredAccess)
LIST_ENTRY IopDeviceActionRequestList
KSPIN_LOCK IopDeviceActionLock
@ PiActionEnumRootDevices
NTSTATUS IopInitPlugPlayEvents(VOID)
VOID PnpRootInitializeDevExtension(VOID)
PDEVICE_NODE PipAllocateDeviceNode(IN PDEVICE_OBJECT PhysicalDeviceObject)
KSPIN_LOCK IopDeviceTreeLock
BOOLEAN NTAPI PnpRegSzToString(IN PWCHAR RegSzData, IN ULONG RegSzLength, OUT PUSHORT StringLength OPTIONAL)
NTSTATUS NTAPI IopGetRegistryValue(IN HANDLE Handle, IN PWSTR ValueName, OUT PKEY_VALUE_FULL_INFORMATION *Information)
NTSTATUS NTAPI PnpRootDriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
NTSTATUS NTAPI IopUpdateRootKey(VOID)
NTSTATUS NTAPI IopCreateRegistryKeyEx(OUT PHANDLE Handle, IN HANDLE BaseHandle OPTIONAL, IN PUNICODE_STRING KeyName, IN ACCESS_MASK DesiredAccess, IN ULONG CreateOptions, OUT PULONG Disposition OPTIONAL)
PNP_DEVNODE_STATE PiSetDevNodeState(_In_ PDEVICE_NODE DeviceNode, _In_ PNP_DEVNODE_STATE NewState)
PIO_BUS_TYPE_GUID_LIST PnpBusTypeGuidList
PDRIVER_OBJECT IopRootDriverObject
VOID PiQueueDeviceAction(_In_ PDEVICE_OBJECT DeviceObject, _In_ DEVICE_ACTION Action, _In_opt_ PKEVENT CompletionEvent, _Out_opt_ NTSTATUS *CompletionStatus)
Queue a device operation to a worker thread.
PDEVICE_NODE IopRootDeviceNode
NTSTATUS NTAPI PnpRegMultiSzToUnicodeStrings(IN PKEY_VALUE_FULL_INFORMATION KeyValueInformation, OUT PUNICODE_STRING *UnicodeStringList, OUT PULONG UnicodeStringCount)
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
NTSTATUS NTAPI IoCreateDriver(_In_opt_ PUNICODE_STRING DriverName, _In_ PDRIVER_INITIALIZE InitializationFunction)
NTSTATUS NTAPI IopPortInitialize(VOID)
ARBITER_INSTANCE IopRootBusNumberArbiter
NTSTATUS NTAPI IopInitializeArbiters(VOID)
ARBITER_INSTANCE IopRootIrqArbiter
KEVENT PiEnumerationFinished
PUNICODE_STRING PiInitGroupOrderTable
USHORT NTAPI PpInitGetGroupOrderIndex(IN HANDLE ServiceHandle)
INTERFACE_TYPE NTAPI IopDetermineDefaultInterfaceType(VOID)
BOOLEAN PnPBootDriversInitialized
USHORT PiInitGroupOrderTableCount
USHORT NTAPI PipGetDriverTagPriority(IN HANDLE ServiceHandle)
NTSTATUS NTAPI IopIrqInitialize(VOID)
NTSTATUS NTAPI IopInitializePlugPlayServices(VOID)
ARBITER_INSTANCE IopRootPortArbiter
NTSTATUS NTAPI PiInitCacheGroupInformation(VOID)
ARBITER_INSTANCE IopRootMemArbiter
NTSTATUS NTAPI IopDmaInitialize(VOID)
INTERFACE_TYPE PnpDefaultInterfaceType
NTSTATUS NTAPI IopBusNumberInitialize(VOID)
NTSTATUS NTAPI IopMemInitialize(VOID)
BOOLEAN PnPBootDriversLoaded
ARBITER_INSTANCE IopRootDmaArbiter
#define FILE_DEVICE_CONTROLLER
#define REGSTR_VAL_ROOT_DEVNODE
#define REGSTR_KEY_ROOTENUM
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
UNICODE_STRING InstancePath
#define RTL_CONSTANT_STRING(s)
#define RtlZeroMemory(Destination, Length)
#define STATUS_UNSUCCESSFUL
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_ WDFDRIVER _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT _In_opt_ PDEVICE_OBJECT Pdo
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
#define DO_BUS_ENUMERATED_DEVICE