|
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) |