|
Classes |
| struct | _CLASS_INIT_DATA |
| struct | _DEVICE_EXTENSION |
| struct | _COMPLETION_CONTEXT |
Defines |
| #define | DebugPrint(x) |
| #define | MAXIMUM_RETRIES 4 |
| #define | DEV_WRITE_CACHE 0x00000001 |
| #define | DEV_USE_SCSI1 0x00000002 |
| #define | DEV_SAFE_START_UNIT 0x00000004 |
| #define | DEV_NO_12BYTE_CDB 0x00000008 |
| #define | SCSIPORT_API DECLSPEC_IMPORT |
Typedefs |
| typedef VOID(* | PCLASS_ERROR )(IN PDEVICE_OBJECT DeviceObject, IN PSCSI_REQUEST_BLOCK Srb, IN OUT NTSTATUS *Status, IN OUT BOOLEAN *Retry) |
| typedef BOOLEAN(* | PCLASS_DEVICE_CALLBACK )(IN PINQUIRYDATA) |
| typedef NTSTATUS(* | PCLASS_READ_WRITE )(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| typedef BOOLEAN(* | PCLASS_FIND_DEVICES )(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath, IN struct _CLASS_INIT_DATA *InitializationData, IN PDEVICE_OBJECT PortDeviceObject, IN ULONG PortNumber) |
| typedef NTSTATUS(* | PCLASS_DEVICE_CONTROL )(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| typedef NTSTATUS(* | PCLASS_SHUTDOWN_FLUSH )(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| typedef NTSTATUS(* | PCLASS_CREATE_CLOSE )(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| typedef _CLASS_INIT_DATA | CLASS_INIT_DATA |
| typedef _CLASS_INIT_DATA * | PCLASS_INIT_DATA |
| typedef _DEVICE_EXTENSION | DEVICE_EXTENSION |
| typedef _DEVICE_EXTENSION * | PDEVICE_EXTENSION |
| typedef _COMPLETION_CONTEXT | COMPLETION_CONTEXT |
| typedef _COMPLETION_CONTEXT * | PCOMPLETION_CONTEXT |
Functions |
| SCSIPORT_API ULONG | ScsiClassInitialize (IN PVOID Argument1, IN PVOID Argument2, IN PCLASS_INIT_DATA InitializationData) |
| SCSIPORT_API NTSTATUS | ScsiClassCreateDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PCCHAR ObjectNameBuffer, IN OPTIONAL PDEVICE_OBJECT PhysicalDeviceObject, IN OUT PDEVICE_OBJECT *DeviceObject, IN PCLASS_INIT_DATA InitializationData) |
| SCSIPORT_API ULONG | ScsiClassFindUnclaimedDevices (IN PCLASS_INIT_DATA InitializationData, IN PSCSI_ADAPTER_BUS_INFO AdapterInformation) |
| SCSIPORT_API NTSTATUS | ScsiClassGetCapabilities (IN PDEVICE_OBJECT PortDeviceObject, OUT PIO_SCSI_CAPABILITIES *PortCapabilities) |
| SCSIPORT_API NTSTATUS | ScsiClassGetInquiryData (IN PDEVICE_OBJECT PortDeviceObject, IN PSCSI_ADAPTER_BUS_INFO *ConfigInfo) |
| SCSIPORT_API NTSTATUS | ScsiClassReadDriveCapacity (IN PDEVICE_OBJECT DeviceObject) |
| SCSIPORT_API VOID | ScsiClassReleaseQueue (IN PDEVICE_OBJECT DeviceObject) |
| SCSIPORT_API NTSTATUS | ScsiClassRemoveDevice (IN PDEVICE_OBJECT PortDeviceObject, IN UCHAR PathId, IN UCHAR TargetId, IN UCHAR Lun) |
| SCSIPORT_API NTSTATUS | ScsiClassAsynchronousCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| SCSIPORT_API VOID | ScsiClassSplitRequest (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN ULONG MaximumBytes) |
| SCSIPORT_API NTSTATUS | ScsiClassDeviceControl (PDEVICE_OBJECT DeviceObject, PIRP Irp) |
| SCSIPORT_API NTSTATUS | ScsiClassIoComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| SCSIPORT_API NTSTATUS | ScsiClassCheckVerifyComplete (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| SCSIPORT_API NTSTATUS | ScsiClassIoCompleteAssociated (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| SCSIPORT_API BOOLEAN | ScsiClassInterpretSenseInfo (IN PDEVICE_OBJECT DeviceObject, IN PSCSI_REQUEST_BLOCK Srb, IN UCHAR MajorFunctionCode, IN ULONG IoDeviceCode, IN ULONG RetryCount, OUT NTSTATUS *Status) |
| SCSIPORT_API NTSTATUS | ScsiClassSendSrbSynchronous (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, PVOID BufferAddress, ULONG BufferLength, BOOLEAN WriteToDevice) |
| SCSIPORT_API NTSTATUS | ScsiClassSendSrbAsynchronous (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, PIRP Irp, PVOID BufferAddress, ULONG BufferLength, BOOLEAN WriteToDevice) |
| SCSIPORT_API VOID | ScsiClassBuildRequest (PDEVICE_OBJECT DeviceObject, PIRP Irp) |
| SCSIPORT_API ULONG | ScsiClassModeSense (IN PDEVICE_OBJECT DeviceObject, IN PCHAR ModeSenseBuffer, IN ULONG Length, IN UCHAR PageMode) |
| SCSIPORT_API BOOLEAN | ScsiClassModeSelect (IN PDEVICE_OBJECT DeviceObject, IN PCHAR ModeSelectBuffer, IN ULONG Length, IN BOOLEAN SavePage) |
| SCSIPORT_API PVOID | ScsiClassFindModePage (IN PCHAR ModeSenseBuffer, IN ULONG Length, IN UCHAR PageMode, IN BOOLEAN Use6Byte) |
| SCSIPORT_API NTSTATUS | ScsiClassClaimDevice (IN PDEVICE_OBJECT PortDeviceObject, IN PSCSI_INQUIRY_DATA LunInfo, IN BOOLEAN Release, OUT PDEVICE_OBJECT *NewPortDeviceObject OPTIONAL) |
| SCSIPORT_API NTSTATUS | ScsiClassInternalIoControl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| SCSIPORT_API VOID | ScsiClassInitializeSrbLookasideList (IN PDEVICE_EXTENSION DeviceExtension, IN ULONG NumberElements) |
| SCSIPORT_API ULONG | ScsiClassQueryTimeOutRegistryValue (IN PUNICODE_STRING RegistryPath) |
| SCSIPORT_API BOOLEAN | ScsiClassIsFloppyDevice (IN PDEVICE_OBJECT DeviceObject, IN PSCSI_INQUIRY_DATA LunInfo) |