Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

class2.h File Reference

#include <ntdddisk.h>
#include <ntddcdrm.h>
#include <ntddtape.h>
#include "ntddscsi.h"
#include <stdio.h>

Go to the source code of this file.

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_DATAPCLASS_INIT_DATA
typedef _DEVICE_EXTENSION DEVICE_EXTENSION
typedef _DEVICE_EXTENSIONPDEVICE_EXTENSION
typedef _COMPLETION_CONTEXT COMPLETION_CONTEXT
typedef _COMPLETION_CONTEXTPCOMPLETION_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)


Define Documentation

#define DebugPrint  ) 
 

Definition at line 37 of file class2.h.

#define DEV_NO_12BYTE_CDB   0x00000008
 

Definition at line 358 of file class2.h.

#define DEV_SAFE_START_UNIT   0x00000004
 

Definition at line 351 of file class2.h.

#define DEV_USE_SCSI1   0x00000002
 

Definition at line 344 of file class2.h.

#define DEV_WRITE_CACHE   0x00000001
 

Definition at line 337 of file class2.h.

#define MAXIMUM_RETRIES   4
 

Definition at line 48 of file class2.h.

#define SCSIPORT_API   DECLSPEC_IMPORT
 

Definition at line 370 of file class2.h.


Typedef Documentation

typedef struct _CLASS_INIT_DATA CLASS_INIT_DATA
 

typedef struct _COMPLETION_CONTEXT COMPLETION_CONTEXT
 

typedef struct _DEVICE_EXTENSION DEVICE_EXTENSION
 

typedef NTSTATUS(* PCLASS_CREATE_CLOSE)(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 

Definition at line 100 of file class2.h.

typedef BOOLEAN(* PCLASS_DEVICE_CALLBACK)(IN PINQUIRYDATA)
 

Definition at line 63 of file class2.h.

typedef NTSTATUS(* PCLASS_DEVICE_CONTROL)(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 

Definition at line 86 of file class2.h.

typedef VOID(* PCLASS_ERROR)(IN PDEVICE_OBJECT DeviceObject, IN PSCSI_REQUEST_BLOCK Srb, IN OUT NTSTATUS *Status, IN OUT BOOLEAN *Retry)
 

Definition at line 54 of file class2.h.

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)
 

Definition at line 76 of file class2.h.

typedef struct _CLASS_INIT_DATA * PCLASS_INIT_DATA
 

typedef NTSTATUS(* PCLASS_READ_WRITE)(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 

Definition at line 69 of file class2.h.

typedef NTSTATUS(* PCLASS_SHUTDOWN_FLUSH)(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 

Definition at line 93 of file class2.h.

typedef struct _COMPLETION_CONTEXT * PCOMPLETION_CONTEXT
 

typedef struct _DEVICE_EXTENSION * PDEVICE_EXTENSION
 


Function Documentation

SCSIPORT_API NTSTATUS ScsiClassAsynchronousCompletion PDEVICE_OBJECT  DeviceObject,
PIRP  Irp,
PVOID  Context
 

SCSIPORT_API VOID ScsiClassBuildRequest PDEVICE_OBJECT  DeviceObject,
PIRP  Irp
 

SCSIPORT_API NTSTATUS ScsiClassCheckVerifyComplete IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp,
IN PVOID  Context
 

SCSIPORT_API NTSTATUS ScsiClassClaimDevice IN PDEVICE_OBJECT  PortDeviceObject,
IN PSCSI_INQUIRY_DATA  LunInfo,
IN BOOLEAN  Release,
OUT PDEVICE_OBJECT *NewPortDeviceObject  OPTIONAL
 

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 NTSTATUS ScsiClassDeviceControl PDEVICE_OBJECT  DeviceObject,
PIRP  Irp
 

SCSIPORT_API PVOID ScsiClassFindModePage IN PCHAR  ModeSenseBuffer,
IN ULONG  Length,
IN UCHAR  PageMode,
IN BOOLEAN  Use6Byte
 

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 ULONG ScsiClassInitialize IN PVOID  Argument1,
IN PVOID  Argument2,
IN PCLASS_INIT_DATA  InitializationData
 

SCSIPORT_API VOID ScsiClassInitializeSrbLookasideList IN PDEVICE_EXTENSION  DeviceExtension,
IN ULONG  NumberElements
 

SCSIPORT_API NTSTATUS ScsiClassInternalIoControl IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp
 

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 ScsiClassIoComplete 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 ScsiClassIsFloppyDevice IN PDEVICE_OBJECT  DeviceObject,
IN PSCSI_INQUIRY_DATA  LunInfo
 

SCSIPORT_API BOOLEAN ScsiClassModeSelect IN PDEVICE_OBJECT  DeviceObject,
IN PCHAR  ModeSelectBuffer,
IN ULONG  Length,
IN BOOLEAN  SavePage
 

SCSIPORT_API ULONG ScsiClassModeSense IN PDEVICE_OBJECT  DeviceObject,
IN PCHAR  ModeSenseBuffer,
IN ULONG  Length,
IN UCHAR  PageMode
 

SCSIPORT_API ULONG ScsiClassQueryTimeOutRegistryValue IN PUNICODE_STRING  RegistryPath  ) 
 

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 ScsiClassSendSrbAsynchronous PDEVICE_OBJECT  DeviceObject,
PSCSI_REQUEST_BLOCK  Srb,
PIRP  Irp,
PVOID  BufferAddress,
ULONG  BufferLength,
BOOLEAN  WriteToDevice
 

SCSIPORT_API NTSTATUS ScsiClassSendSrbSynchronous PDEVICE_OBJECT  DeviceObject,
PSCSI_REQUEST_BLOCK  Srb,
PVOID  BufferAddress,
ULONG  BufferLength,
BOOLEAN  WriteToDevice
 

SCSIPORT_API VOID ScsiClassSplitRequest IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp,
IN ULONG  MaximumBytes
 


Generated on Sat May 15 19:43:04 2004 for test by doxygen 1.3.7