Data Structures |
| struct | PINVALIDATE_DEVICE_RELATION_DATA |
Defines |
| #define | NDEBUG |
| #define | PIP_RETURN_DATA(x, y) {ReturnLength = x; Data = y; Status = STATUS_SUCCESS; break;} |
| #define | PIP_REGISTRY_DATA(x, y) {ValueName = x; ValueType = y; break;} |
| #define | PIP_UNIMPLEMENTED() {UNIMPLEMENTED; while(TRUE); break;} |
Functions |
| NTSTATUS NTAPI | IopCreateDeviceKeyPath (IN PCUNICODE_STRING RegistryPath, IN ULONG CreateOptions, OUT PHANDLE Handle) |
| NTSTATUS | IopPrepareDeviceForRemoval (PDEVICE_OBJECT DeviceObject, BOOLEAN Force) |
| PDEVICE_OBJECT | IopGetDeviceObjectFromDeviceInstance (PUNICODE_STRING DeviceInstance) |
| PDEVICE_NODE FASTCALL | IopGetDeviceNode (PDEVICE_OBJECT DeviceObject) |
| VOID | IopFixupDeviceId (PWCHAR String) |
| VOID NTAPI | IopInstallCriticalDevice (PDEVICE_NODE DeviceNode) |
| NTSTATUS FASTCALL | IopInitializeDevice (PDEVICE_NODE DeviceNode, PDRIVER_OBJECT DriverObject) |
| static NTSTATUS NTAPI | IopSendEject (IN PDEVICE_OBJECT DeviceObject) |
| static VOID NTAPI | IopSendSurpriseRemoval (IN PDEVICE_OBJECT DeviceObject) |
| static NTSTATUS NTAPI | IopQueryRemoveDevice (IN PDEVICE_OBJECT DeviceObject) |
| static NTSTATUS NTAPI | IopQueryStopDevice (IN PDEVICE_OBJECT DeviceObject) |
| static VOID NTAPI | IopSendRemoveDevice (IN PDEVICE_OBJECT DeviceObject) |
| static VOID NTAPI | IopCancelRemoveDevice (IN PDEVICE_OBJECT DeviceObject) |
| static VOID NTAPI | IopSendStopDevice (IN PDEVICE_OBJECT DeviceObject) |
| VOID NTAPI | IopStartDevice2 (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS NTAPI | IopStartAndEnumerateDevice (IN PDEVICE_NODE DeviceNode) |
| NTSTATUS | IopStopDevice (PDEVICE_NODE DeviceNode) |
| NTSTATUS | IopStartDevice (PDEVICE_NODE DeviceNode) |
| NTSTATUS NTAPI | IopQueryDeviceCapabilities (PDEVICE_NODE DeviceNode, PDEVICE_CAPABILITIES DeviceCaps) |
| static VOID NTAPI | IopAsynchronousInvalidateDeviceRelations (IN PDEVICE_OBJECT DeviceObject, IN PVOID InvalidateContext) |
| NTSTATUS | IopGetSystemPowerDeviceObject (PDEVICE_OBJECT *DeviceObject) |
| USHORT NTAPI | IopGetBusTypeGuidIndex (LPGUID BusTypeGuid) |
| NTSTATUS | IopCreateDeviceNode (PDEVICE_NODE ParentNode, PDEVICE_OBJECT PhysicalDeviceObject, PUNICODE_STRING ServiceName, PDEVICE_NODE *DeviceNode) |
| NTSTATUS | IopFreeDeviceNode (PDEVICE_NODE DeviceNode) |
| NTSTATUS NTAPI | IopSynchronousCall (IN PDEVICE_OBJECT DeviceObject, IN PIO_STACK_LOCATION IoStackLocation, OUT PVOID *Information) |
| NTSTATUS NTAPI | IopInitiatePnpIrp (IN PDEVICE_OBJECT DeviceObject, IN OUT PIO_STATUS_BLOCK IoStatusBlock, IN UCHAR MinorFunction, IN PIO_STACK_LOCATION Stack OPTIONAL) |
| NTSTATUS | IopTraverseDeviceTreeNode (PDEVICETREE_TRAVERSE_CONTEXT Context) |
| NTSTATUS | IopTraverseDeviceTree (PDEVICETREE_TRAVERSE_CONTEXT Context) |
| NTSTATUS | IopSetDeviceInstanceData (HANDLE InstanceKey, PDEVICE_NODE DeviceNode) |
| NTSTATUS | IopGetParentIdPrefix (PDEVICE_NODE DeviceNode, PUNICODE_STRING ParentIdPrefix) |
| NTSTATUS | IopQueryHardwareIds (PDEVICE_NODE DeviceNode, HANDLE InstanceKey) |
| NTSTATUS | IopQueryCompatibleIds (PDEVICE_NODE DeviceNode, HANDLE InstanceKey) |
| NTSTATUS | IopActionInterrogateDeviceStack (PDEVICE_NODE DeviceNode, PVOID Context) |
| static VOID | IopHandleDeviceRemoval (IN PDEVICE_NODE DeviceNode, IN PDEVICE_RELATIONS DeviceRelations) |
| NTSTATUS | IopEnumerateDevice (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | IopActionConfigureChildServices (PDEVICE_NODE DeviceNode, PVOID Context) |
| NTSTATUS | IopActionInitChildServices (PDEVICE_NODE DeviceNode, PVOID Context) |
| NTSTATUS | IopInitializePnpServices (IN PDEVICE_NODE DeviceNode) |
| static NTSTATUS INIT_FUNCTION | IopEnumerateDetectedDevices (IN HANDLE hBaseKey, IN PUNICODE_STRING RelativePath OPTIONAL, IN HANDLE hRootKey, IN BOOLEAN EnumerateSubKeys, IN PCM_FULL_RESOURCE_DESCRIPTOR ParentBootResources, IN ULONG ParentBootResourcesLength) |
| static BOOLEAN INIT_FUNCTION | IopIsFirmwareMapperDisabled (VOID) |
| NTSTATUS NTAPI INIT_FUNCTION | IopUpdateRootKey (VOID) |
| NTSTATUS NTAPI | IopOpenRegistryKeyEx (PHANDLE KeyHandle, HANDLE ParentKey, PUNICODE_STRING Name, ACCESS_MASK DesiredAccess) |
| NTSTATUS NTAPI | IopCreateRegistryKeyEx (OUT PHANDLE Handle, IN HANDLE RootHandle OPTIONAL, IN PUNICODE_STRING KeyName, IN ACCESS_MASK DesiredAccess, IN ULONG CreateOptions, OUT PULONG Disposition OPTIONAL) |
| NTSTATUS NTAPI | IopGetRegistryValue (IN HANDLE Handle, IN PWSTR ValueName, OUT PKEY_VALUE_FULL_INFORMATION *Information) |
| RTL_GENERIC_COMPARE_RESULTS NTAPI | PiCompareInstancePath (IN PRTL_AVL_TABLE Table, IN PVOID FirstStruct, IN PVOID SecondStruct) |
| PVOID NTAPI | PiAllocateGenericTableEntry (IN PRTL_AVL_TABLE Table, IN CLONG ByteSize) |
| VOID NTAPI | PiFreeGenericTableEntry (IN PRTL_AVL_TABLE Table, IN PVOID Buffer) |
| VOID NTAPI | PpInitializeDeviceReferenceTable (VOID) |
| BOOLEAN NTAPI | PiInitPhase0 (VOID) |
| BOOLEAN NTAPI | PpInitSystem (VOID) |
| PDEVICE_NODE NTAPI | PipAllocateDeviceNode (IN PDEVICE_OBJECT PhysicalDeviceObject) |
| NTSTATUS NTAPI | PnpBusTypeGuidGet (IN USHORT Index, IN LPGUID BusTypeGuid) |
| NTSTATUS NTAPI | PnpDeviceObjectToDeviceInstance (IN PDEVICE_OBJECT DeviceObject, IN PHANDLE DeviceInstanceHandle, IN ACCESS_MASK DesiredAccess) |
| ULONG NTAPI | PnpDetermineResourceListSize (IN PCM_RESOURCE_LIST ResourceList) |
| NTSTATUS NTAPI | PiGetDeviceRegistryProperty (IN PDEVICE_OBJECT DeviceObject, IN ULONG ValueType, IN PWSTR ValueName, IN PWSTR KeyName, OUT PVOID Buffer, IN PULONG BufferLength) |
| NTSTATUS NTAPI | IoGetDeviceProperty (IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, IN ULONG BufferLength, OUT PVOID PropertyBuffer, OUT PULONG ResultLength) |
| VOID NTAPI | IoInvalidateDeviceState (IN PDEVICE_OBJECT PhysicalDeviceObject) |
|
Open a registry key unique for a specified driver or device instance.
- Parameters:
-
| DeviceObject | Device to get the registry key for. |
| DevInstKeyType | Type of the key to return. |
| DesiredAccess | Access mask (eg. KEY_READ | KEY_WRITE). |
| DevInstRegKey | Handle to the opened registry key on successful return. |
- Returns:
- Status.
|
| VOID | IopCancelPrepareDeviceForRemoval (PDEVICE_OBJECT DeviceObject) |
| NTSTATUS NTAPI | IoOpenDeviceRegistryKey (IN PDEVICE_OBJECT DeviceObject, IN ULONG DevInstKeyType, IN ACCESS_MASK DesiredAccess, OUT PHANDLE DevInstRegKey) |
| static NTSTATUS | IopQueryRemoveChildDevices (PDEVICE_NODE ParentDeviceNode, BOOLEAN Force) |
| static VOID | IopSendRemoveChildDevices (PDEVICE_NODE ParentDeviceNode) |
| static VOID | IopCancelRemoveChildDevices (PDEVICE_NODE ParentDeviceNode) |
| static NTSTATUS | IopQueryRemoveDeviceRelations (PDEVICE_RELATIONS DeviceRelations, BOOLEAN Force) |
| static VOID | IopSendRemoveDeviceRelations (PDEVICE_RELATIONS DeviceRelations) |
| static VOID | IopCancelRemoveDeviceRelations (PDEVICE_RELATIONS DeviceRelations) |
| NTSTATUS | IopPrepareDeviceForRemoval (IN PDEVICE_OBJECT DeviceObject, BOOLEAN Force) |
| NTSTATUS | IopRemoveDevice (PDEVICE_NODE DeviceNode) |
| VOID NTAPI | IoRequestDeviceEject (IN PDEVICE_OBJECT PhysicalDeviceObject) |
| VOID NTAPI | IoInvalidateDeviceRelations (IN PDEVICE_OBJECT DeviceObject, IN DEVICE_RELATION_TYPE Type) |
| NTSTATUS NTAPI | IoSynchronousInvalidateDeviceRelations (IN PDEVICE_OBJECT DeviceObject, IN DEVICE_RELATION_TYPE Type) |
| BOOLEAN NTAPI | IoTranslateBusAddress (IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) |
Variables |
| PDEVICE_NODE | IopRootDeviceNode |
| KSPIN_LOCK | IopDeviceTreeLock |
| ERESOURCE | PpRegistryDeviceResource |
| KGUARDED_MUTEX | PpDeviceReferenceTableLock |
| RTL_AVL_TABLE | PpDeviceReferenceTable |
| ULONG | ExpInitializationPhase |
| BOOLEAN | ExpInTextModeSetup |
| BOOLEAN | PnpSystemInit |
| PDRIVER_OBJECT | IopRootDriverObject |
| PIO_BUS_TYPE_GUID_LIST | PnpBusTypeGuidList = NULL |
| LONG | IopNumberDeviceNodes |