27{
31
32 DPRINT(
"PortCreatePdo(%p %p)\n",
33 FdoDeviceExtension, PdoDeviceExtension);
34
35
44 {
47 }
48
49
52
55
57
61
62
64 &FdoDeviceExtension->PdoListHead,
66 &FdoDeviceExtension->PdoCount);
67
68 DeviceExtension->
Bus = Bus;
70 DeviceExtension->
Lun =
Lun;
71
72
73
80
81
82
83
84
86
91
93
94
95
97
98
99 Pdo->Flags &= ~DO_DEVICE_INITIALIZING;
100
101 *PdoDeviceExtension = DeviceExtension;
102
104}
#define FILE_DEVICE_SECURE_OPEN
_In_ ULONG _In_ BOOLEAN _In_ ULONG _In_ UCHAR _In_ UCHAR _In_ UCHAR Lun
struct _PDO_DEVICE_EXTENSION * PPDO_DEVICE_EXTENSION
#define InitializeListHead(ListHead)
_In_ UCXUSBDEVICE _In_ PDEVICE_OBJECT Pdo
FORCEINLINE ULONG StorpInterlockedInsertHeadListCounted(_In_ PKSPIN_LOCK SpinLock, _In_ PLIST_ENTRY ListHead, _In_ PLIST_ENTRY Entry, _In_ PULONG Counter)
InsertHeadList and increment element counter with a corresponding spin lock held.
#define FILE_DEVICE_MASS_STORAGE
#define FILE_AUTOGENERATED_DEVICE_NAME
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)
PFDO_DEVICE_EXTENSION FdoExtension
PDO_IO_FLOW_CONTROL FlowControl
ULONG OutstandingRequestMax
EXTENSION_TYPE ExtensionType
LONG SpecialRequestCounter
LIST_ENTRY ActiveRequestsListHead
BOOLEAN IsWaitingQueueClear
ULONG RemainingBusyRequests
ULONG OutstandingRequestCount
LIST_ENTRY AwaitingRequestsListHead
#define RtlZeroMemory(Destination, Length)