📄 wnaspi32.h
字号:
BYTE FAR *SRB_BufPointer; // 10/016 Data Buffer Pointer BYTE SRB_SenseLen; // 14/020 Sense Allocation Length BYTE SRB_CDBLen; // 15/021 CDB Length BYTE SRB_HaStat; // 16/022 Host Adapter Status BYTE SRB_TargStat; // 17/023 Target Status VOID FAR *SRB_PostProc; // 18/024 Post routine BYTE SRB_Rsvd2[20]; // 1C/028 Reserved, MUST = 0 BYTE CDBByte[16]; // 30/048 SCSI CDB BYTE SenseArea[SENSE_LEN+2]; // 50/064 Request Sense buffer}SRB_ExecSCSICmd, *PSRB_ExecSCSICmd, FAR *LPSRB_ExecSCSICmd;//*****************************************************************************// %%% SRB - ABORT AN SRB - SC_ABORT_SRB (3) %%%//*****************************************************************************typedef struct // Offset{ // HX/DEC BYTE SRB_Cmd; // 00/000 ASPI command code = SC_ABORT_SRB BYTE SRB_Status; // 01/001 ASPI command status byte BYTE SRB_HaId; // 02/002 ASPI host adapter number BYTE SRB_Flags; // 03/003 Reserved DWORD SRB_Hdr_Rsvd; // 04/004 Reserved VOID FAR *SRB_ToAbort; // 08/008 Pointer to SRB to abort}SRB_Abort, *PSRB_Abort, FAR *LPSRB_Abort;//*****************************************************************************// %%% SRB - BUS DEVICE RESET - SC_RESET_DEV (4) %%%//*****************************************************************************typedef struct // Offset{ // HX/DEC BYTE SRB_Cmd; // 00/000 ASPI command code = SC_RESET_DEV BYTE SRB_Status; // 01/001 ASPI command status byte BYTE SRB_HaId; // 02/002 ASPI host adapter number BYTE SRB_Flags; // 03/003 ASPI request flags DWORD SRB_Hdr_Rsvd; // 04/004 Reserved BYTE SRB_Target; // 08/008 Target's SCSI ID BYTE SRB_Lun; // 09/009 Target's LUN number BYTE SRB_Rsvd1[12]; // 0A/010 Reserved for Alignment BYTE SRB_HaStat; // 16/022 Host Adapter Status BYTE SRB_TargStat; // 17/023 Target Status VOID FAR *SRB_PostProc; // 18/024 Post routine BYTE SRB_Rsvd2[36]; // 1C/028 Reserved, MUST = 0}SRB_BusDeviceReset, *PSRB_BusDeviceReset, FAR *LPSRB_BusDeviceReset;//*****************************************************************************// %%% SRB - GET DISK INFORMATION - SC_GET_DISK_INFO %%%//*****************************************************************************typedef struct // Offset{ // HX/DEC BYTE SRB_Cmd; // 00/000 ASPI command code = SC_GET_DISK_INFO BYTE SRB_Status; // 01/001 ASPI command status byte BYTE SRB_HaId; // 02/002 ASPI host adapter number BYTE SRB_Flags; // 03/003 Reserved, MUST = 0 DWORD SRB_Hdr_Rsvd; // 04/004 Reserved, MUST = 0 BYTE SRB_Target; // 08/008 Target's SCSI ID BYTE SRB_Lun; // 09/009 Target's LUN number BYTE SRB_DriveFlags; // 0A/010 Driver flags BYTE SRB_Int13HDriveInfo; // 0B/011 Host Adapter Status BYTE SRB_Heads; // 0C/012 Preferred number of heads translation BYTE SRB_Sectors; // 0D/013 Preferred number of sectors translation BYTE SRB_Rsvd1[10]; // 0E/014 Reserved, MUST = 0}SRB_GetDiskInfo, *PSRB_GetDiskInfo, FAR *LPSRB_GetDiskInfo;//*****************************************************************************// %%% SRB - RESCAN SCSI BUS(ES) ON SCSIPORT %%%//*****************************************************************************typedef struct // Offset{ // HX/DEC BYTE SRB_Cmd; // 00/000 ASPI command code = SC_RESCAN_SCSI_BUS BYTE SRB_Status; // 01/001 ASPI command status byte BYTE SRB_HaId; // 02/002 ASPI host adapter number BYTE SRB_Flags; // 03/003 Reserved, MUST = 0 DWORD SRB_Hdr_Rsvd; // 04/004 Reserved, MUST = 0}SRB_RescanPort, *PSRB_RescanPort, FAR *LPSRB_RescanPort;//*****************************************************************************// %%% SRB - GET/SET TARGET TIMEOUTS %%%//*****************************************************************************typedef struct // Offset{ // HX/DEC BYTE SRB_Cmd; // 00/000 ASPI command code = SC_GETSET_TIMEOUTS BYTE SRB_Status; // 01/001 ASPI command status byte BYTE SRB_HaId; // 02/002 ASPI host adapter number BYTE SRB_Flags; // 03/003 ASPI request flags DWORD SRB_Hdr_Rsvd; // 04/004 Reserved, MUST = 0 BYTE SRB_Target; // 08/008 Target's SCSI ID BYTE SRB_Lun; // 09/009 Target's LUN number DWORD SRB_Timeout; // 0A/010 Timeout in half seconds}SRB_GetSetTimeouts, *PSRB_GetSetTimeouts, FAR *LPSRB_GetSetTimeouts;//*****************************************************************************// %%% ASPIBUFF - Structure For Controllng I/O Buffers %%%//*****************************************************************************typedef struct tag_ASPI32BUFF // Offset{ // HX/DEC PBYTE AB_BufPointer; // 00/000 Pointer to the ASPI allocated buffer DWORD AB_BufLen; // 04/004 Length in bytes of the buffer DWORD AB_ZeroFill; // 08/008 Flag set to 1 if buffer should be zeroed DWORD AB_Reserved; // 0C/012 Reserved}ASPI32BUFF, *PASPI32BUFF, FAR *LPASPI32BUFF;//*****************************************************************************// %%% PROTOTYPES - User Callable ASPI for Win32 Functions %%%//*****************************************************************************typedef void *LPSRB;#if defined(__BORLANDC__)DWORD _import GetASPI32SupportInfo( void );DWORD _import SendASPI32Command( LPSRB );BOOL _import GetASPI32Buffer( PASPI32BUFF );BOOL _import FreeASPI32Buffer( PASPI32BUFF );BOOL _import TranslateASPI32Address( PDWORD, PDWORD );#elif defined(_MSC_VER)__declspec(dllimport) DWORD GetASPI32SupportInfo( void );__declspec(dllimport) DWORD SendASPI32Command( LPSRB );__declspec(dllimport) BOOL GetASPI32Buffer( PASPI32BUFF );__declspec(dllimport) BOOL FreeASPI32Buffer( PASPI32BUFF );__declspec(dllimport) BOOL TranslateASPI32Address( PDWORD, PDWORD );#elseextern DWORD GetASPI32SupportInfo( void );extern DWORD GetASPI32Command( LPSRB );extern BOOL GetASPI32Buffer( PASPI32BUFF );extern BOOL FreeASPI32Buffer( PASPI32BUFF );extern BOOL TranslateASPI32Address( PDWORD, PDWORD );#endif/*** Restore compiler default packing and close off the C declarations.*/#ifdef __BORLANDC__#pragma option -a.#endif //__BORLANDC__#ifdef _MSC_VER#pragma pack()#endif //_MSC_VER#ifdef __cplusplus}#endif //__cplusplus#endif //__WNASPI32_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -