+ /* Pointer to the PDO corresponding to the device node. */
+ PDEVICE_OBJECT PhysicalDeviceObject;
+ /* Resource list as assigned by the PnP arbiter. See IRP_MN_START_DEVICE
+ and ARBITER_INTERFACE (not documented in DDK, but present in headers). */
+ PCM_RESOURCE_LIST ResourceList;
+ /* Resource list as assigned by the PnP arbiter (translated version). */
+ PCM_RESOURCE_LIST ResourceListTranslated;
+ /* Instance path relative to the Enum key in registry. */
+ UNICODE_STRING InstancePath;
+ /* Name of the driver service. */
+ UNICODE_STRING ServiceName;
+ /* ? */
+ PDEVICE_OBJECT DuplicatePDO;
+ /* See IRP_MN_QUERY_RESOURCE_REQUIREMENTS. */
+ PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements;
+ /* Information about bus for bus drivers. */
+ INTERFACE_TYPE InterfaceType;
+ ULONG BusNumber;
+ /* Information about underlying bus for child devices. */
+ INTERFACE_TYPE ChildInterfaceType;
+ ULONG ChildBusNumber;
+ USHORT ChildBusTypeIndex;
+ /* ? */
+ UCHAR RemovalPolicy;
+ UCHAR HardwareRemovalPolicy;
+ LIST_ENTRY TargetDeviceNotify;
+ LIST_ENTRY DeviceArbiterList;
+ LIST_ENTRY DeviceTranslatorList;
+ USHORT NoTranslatorMask;
+ USHORT QueryTranslatorMask;
+ USHORT NoArbiterMask;
+ USHORT QueryArbiterMask;
+ ULONG OverUsed1;
+ ULONG OverUsed2;
+ /* See IRP_MN_QUERY_RESOURCES. */
+ PCM_RESOURCE_LIST BootResources;
+ /* See the bitfields in DEVICE_CAPABILITIES structure. */
+ ULONG CapabilityFlags;
+ struct
+ {
+ ULONG DockStatus;
+ LIST_ENTRY ListEntry;
+ WCHAR *SerialNumber;
+ } DockInfo;
+ ULONG DisableableDepends;
+ LIST_ENTRY PendedSetInterfaceState;
+ LIST_ENTRY LegacyBusListEntry;
+ ULONG DriverUnloadRetryCount;
+