diff --git a/sdk/include/psdk/ntdddisk.h b/sdk/include/psdk/ntdddisk.h index 44ab027a222..064ebbfd767 100644 --- a/sdk/include/psdk/ntdddisk.h +++ b/sdk/include/psdk/ntdddisk.h @@ -182,6 +182,9 @@ extern "C" { #define IOCTL_DISK_VERIFY \ CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_DISK_COPY_DATA \ + CTL_CODE(IOCTL_DISK_BASE, 0x0019, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + #define SMART_GET_VERSION \ CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS) diff --git a/sdk/include/psdk/ntddscsi.h b/sdk/include/psdk/ntddscsi.h index 2e8e5d9ab82..14a9cef230c 100644 --- a/sdk/include/psdk/ntddscsi.h +++ b/sdk/include/psdk/ntddscsi.h @@ -34,6 +34,8 @@ extern "C" { #define IOCTL_SCSI_RESCAN_BUS CTL_CODE(IOCTL_SCSI_BASE,0x0407,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_SCSI_GET_DUMP_POINTERS CTL_CODE(IOCTL_SCSI_BASE,0x0408,METHOD_BUFFERED,FILE_ANY_ACCESS) #define IOCTL_SCSI_FREE_DUMP_POINTERS CTL_CODE(IOCTL_SCSI_BASE,0x0409,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_SCSI_PASS_THROUGH_EX CTL_CODE(IOCTL_SCSI_BASE, 0x0411, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_SCSI_PASS_THROUGH_DIRECT_EX CTL_CODE(IOCTL_SCSI_BASE, 0x0412, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_IDE_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE,0x040a,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_ATA_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE,0x040b,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_ATA_PASS_THROUGH_DIRECT CTL_CODE(IOCTL_SCSI_BASE,0x040c,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) @@ -104,6 +106,26 @@ extern "C" { } SCSI_PASS_THROUGH_DIRECT32,*PSCSI_PASS_THROUGH_DIRECT32; #endif /* _WIN64 */ + + typedef struct _SCSI_PASS_THROUGH_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; + ULONG_PTR DataOutBufferOffset; + ULONG_PTR DataInBufferOffset; + UCHAR Cdb[ANYSIZE_ARRAY]; + } SCSI_PASS_THROUGH_EX, *PSCSI_PASS_THROUGH_EX; + typedef struct _ATA_PASS_THROUGH_EX { USHORT Length; USHORT AtaFlags; diff --git a/sdk/include/psdk/ntstatus.h b/sdk/include/psdk/ntstatus.h index a9552633e7b..18795035170 100644 --- a/sdk/include/psdk/ntstatus.h +++ b/sdk/include/psdk/ntstatus.h @@ -947,6 +947,7 @@ extern "C" { #define STATUS_CALLBACK_POP_STACK ((NTSTATUS)0xC0000423) #define STATUS_HIVE_UNLOADED ((NTSTATUS)0xC0000425) #define STATUS_ELEVATION_REQUIRED ((NTSTATUS)0xC000042C) +#define STATUS_PURGE_FAILED ((NTSTATUS)0xC0000435) #define STATUS_ALREADY_REGISTERED ((NTSTATUS)0xC0000718) #define STATUS_WOW_ASSERTION ((NTSTATUS)0xC0009898) #define STATUS_INVALID_SIGNATURE ((NTSTATUS)0xC000A000)