29 DPRINT1(
"USBSTOR_AddDevice: Failed to create FDO Status %x\n",
Status);
48 if (!DeviceExtension->LowerDeviceObject)
78 DPRINT(
"USBSTOR_DispatchClose\n");
79 Irp->IoStatus.Information = 0;
115 Irp->IoStatus.Information = 0;
150 if (DeviceExtension->
IsFDO)
175 return PoCallDriver(DeviceExtension->LowerDeviceObject,
Irp);
193 DPRINT(
"********* USB Storage *********\n");
#define DO_DEVICE_INITIALIZING
#define STATUS_DEVICE_REMOVED
#define STATUS_INVALID_PARAMETER
NTSTATUS USBSTOR_FdoHandlePnp(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp)
PDEVICE_OBJECT PhysicalDeviceObject
struct _FDO_DEVICE_EXTENSION * PFDO_DEVICE_EXTENSION
NTSTATUS NTAPI USBSTOR_DispatchClose(PDEVICE_OBJECT DeviceObject, PIRP Irp)
struct __COMMON_DEVICE_EXTENSION__ * PUSBSTOR_COMMON_DEVICE_EXTENSION
_In_ PDEVICE_OBJECT DeviceObject
NTSTATUS NTAPI USBSTOR_DispatchDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
PDEVICE_OBJECT NTAPI IoAttachDeviceToDeviceStack(IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice)
NTSTATUS NTAPI USBSTOR_DispatchReadWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS NTAPI USBSTOR_DispatchScsi(PDEVICE_OBJECT DeviceObject, PIRP Irp)
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
#define IoCompleteRequest
#define FILE_AUTOGENERATED_DEVICE_NAME
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
NTSTATUS USBSTOR_PdoHandlePnp(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp)
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI IoInitializeTimer(IN PDEVICE_OBJECT DeviceObject, IN PIO_TIMER_ROUTINE TimerRoutine, IN PVOID Context)
NTSTATUS USBSTOR_HandleInternalDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID NTAPI USBSTOR_StartIo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS NTAPI USBSTOR_DispatchSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI USBSTOR_DispatchPower(PDEVICE_OBJECT DeviceObject, PIRP Irp)
_In_z_ PCCHAR _In_ PDEVICE_OBJECT LowerDeviceObject
COMMON_DEVICE_EXTENSION Common
#define IRP_MJ_SYSTEM_CONTROL
VOID NTAPI USBSTOR_TimerRoutine(PDEVICE_OBJECT DeviceObject, PVOID Context)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegPath)
VOID NTAPI PoStartNextPowerIrp(IN PIRP Irp)
NTSTATUS NTAPI IoCallDriver(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define IoSkipCurrentIrpStackLocation(Irp)
VOID NTAPI USBSTOR_Unload(PDRIVER_OBJECT DriverObject)
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)
#define RtlZeroMemory(Destination, Length)
#define FILE_DEVICE_SECURE_OPEN
NTSTATUS NTAPI USBSTOR_AddDevice(IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject)
#define FILE_DEVICE_BUS_EXTENDER
NTSTATUS USBSTOR_HandleDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS NTAPI USBSTOR_DispatchPnp(PDEVICE_OBJECT DeviceObject, PIRP Irp)
#define IRP_MJ_DEVICE_CONTROL