https://git.reactos.org/?p=reactos.git;a=commitdiff;h=901c457b633881ffc5984…
commit 901c457b633881ffc5984f4901742c3bec0ac17a
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Fri Nov 13 03:15:31 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Fri Nov 13 03:15:31 2020 +0300
[PSDK] Add more 32 and 64-bit definitions to ntddscsi.h
---
sdk/include/psdk/ntddscsi.h | 66 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 64 insertions(+), 2 deletions(-)
diff --git a/sdk/include/psdk/ntddscsi.h b/sdk/include/psdk/ntddscsi.h
index 14a9cef230c..0d9001b34fb 100644
--- a/sdk/include/psdk/ntddscsi.h
+++ b/sdk/include/psdk/ntddscsi.h
@@ -20,9 +20,9 @@
DEFINE_GUID(WmiScsiAddressGuid,0x53f5630fL,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc
extern "C" {
#endif
-#define IOCTL_SCSI_BASE FILE_DEVICE_CONTROLLER
+#define IOCTL_SCSI_BASE FILE_DEVICE_CONTROLLER
-#define DD_SCSI_DEVICE_NAME "\\Device\\ScsiPort"
+#define DD_SCSI_DEVICE_NAME "\\Device\\ScsiPort"
#define DD_SCSI_DEVICE_NAME_U L"\\Device\\ScsiPort"
#define IOCTL_SCSI_PASS_THROUGH
CTL_CODE(IOCTL_SCSI_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
@@ -126,6 +126,68 @@ extern "C" {
UCHAR Cdb[ANYSIZE_ARRAY];
} SCSI_PASS_THROUGH_EX, *PSCSI_PASS_THROUGH_EX;
+typedef struct _SCSI_PASS_THROUGH_DIRECT_EX
+{
+ ULONG Version;
+ ULONG Length;
+ ULONG CdbLength;
+ ULONG StorAddressLength;
+ UCHAR ScsiStatus;
+ UCHAR SenseInfoLength;
+ UCHAR DataDirection;
+ UCHAR Reserved;
+ ULONG TimeOutValue;
+ ULONG StorAddressOffset;
+ ULONG SenseInfoOffset;
+ ULONG DataOutTransferLength;
+ ULONG DataInTransferLength;
+ PVOID DataOutBuffer;
+ PVOID DataInBuffer;
+ UCHAR Cdb[ANYSIZE_ARRAY];
+} SCSI_PASS_THROUGH_DIRECT_EX, *PSCSI_PASS_THROUGH_DIRECT_EX;
+
+#if defined(_WIN64)
+typedef struct _SCSI_PASS_THROUGH32_EX
+{
+ ULONG Version;
+ ULONG Length;
+ ULONG CdbLength;
+ ULONG StorAddressLength;
+ UCHAR ScsiStatus;
+ UCHAR SenseInfoLength;
+ UCHAR DataDirection;
+ UCHAR Reserved;
+ ULONG TimeOutValue;
+ ULONG StorAddressOffset;
+ ULONG SenseInfoOffset;
+ ULONG DataOutTransferLength;
+ ULONG DataInTransferLength;
+ ULONG32 DataOutBufferOffset;
+ ULONG32 DataInBufferOffset;
+ UCHAR Cdb[ANYSIZE_ARRAY];
+} SCSI_PASS_THROUGH32_EX, *PSCSI_PASS_THROUGH32_EX;
+
+typedef struct _SCSI_PASS_THROUGH_DIRECT32_EX
+{
+ ULONG Version;
+ ULONG Length;
+ ULONG CdbLength;
+ ULONG StorAddressLength;
+ UCHAR ScsiStatus;
+ UCHAR SenseInfoLength;
+ UCHAR DataDirection;
+ UCHAR Reserved;
+ ULONG TimeOutValue;
+ ULONG StorAddressOffset;
+ ULONG SenseInfoOffset;
+ ULONG DataOutTransferLength;
+ ULONG DataInTransferLength;
+ VOID * POINTER_32 DataOutBuffer;
+ VOID * POINTER_32 DataInBuffer;
+ UCHAR Cdb[ANYSIZE_ARRAY];
+} SCSI_PASS_THROUGH_DIRECT32_EX, *PSCSI_PASS_THROUGH_DIRECT32_EX;
+#endif
+
typedef struct _ATA_PASS_THROUGH_EX {
USHORT Length;
USHORT AtaFlags;