Win32 API 日本語リファレンス
ホームStorage.IscsiDisc › 定数

定数

184

Windows.Win32.Storage.IscsiDisc

名前
IOCTL_SCSI_BASEDWORD4
ScsiRawInterfaceGuidGUID{53F56309-B6BF-11D0-94F2-00A0C91EFB8B}
WmiScsiAddressGuidGUID{53F5630F-B6BF-11D0-94F2-00A0C91EFB8B}
FILE_DEVICE_SCSIDWORD27
DD_SCSI_DEVICE_NAMEunknown\Device\ScsiPort
IOCTL_SCSI_PASS_THROUGHDWORD315396
IOCTL_SCSI_MINIPORTDWORD315400
IOCTL_SCSI_GET_INQUIRY_DATADWORD266252
IOCTL_SCSI_GET_CAPABILITIESDWORD266256
IOCTL_SCSI_PASS_THROUGH_DIRECTDWORD315412
IOCTL_SCSI_GET_ADDRESSDWORD266264
IOCTL_SCSI_RESCAN_BUSDWORD266268
IOCTL_SCSI_GET_DUMP_POINTERSDWORD266272
IOCTL_SCSI_FREE_DUMP_POINTERSDWORD266276
IOCTL_IDE_PASS_THROUGHDWORD315432
IOCTL_ATA_PASS_THROUGHDWORD315436
IOCTL_ATA_PASS_THROUGH_DIRECTDWORD315440
IOCTL_ATA_MINIPORTDWORD315444
IOCTL_MINIPORT_PROCESS_SERVICE_IRPDWORD315448
IOCTL_MPIO_PASS_THROUGH_PATHDWORD315452
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECTDWORD315456
IOCTL_SCSI_PASS_THROUGH_EXDWORD315460
IOCTL_SCSI_PASS_THROUGH_DIRECT_EXDWORD315464
IOCTL_MPIO_PASS_THROUGH_PATH_EXDWORD315468
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EXDWORD315472
ATA_FLAGS_DRDY_REQUIREDDWORD1
ATA_FLAGS_DATA_INDWORD2
ATA_FLAGS_DATA_OUTDWORD4
ATA_FLAGS_48BIT_COMMANDDWORD8
ATA_FLAGS_USE_DMADWORD16
ATA_FLAGS_NO_MULTIPLEDWORD32
IOCTL_MINIPORT_SIGNATURE_SCSIDISKunknownSCSIDISK
IOCTL_MINIPORT_SIGNATURE_HYBRDISKunknownHYBRDISK
IOCTL_MINIPORT_SIGNATURE_DSM_NOTIFICATIONunknownMPDSM
IOCTL_MINIPORT_SIGNATURE_DSM_GENERALunknownMPDSMGEN
IOCTL_MINIPORT_SIGNATURE_FIRMWAREunknownFIRMWARE
IOCTL_MINIPORT_SIGNATURE_QUERY_PROTOCOLunknownPROTOCOL
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOLunknownSETPROTO
IOCTL_MINIPORT_SIGNATURE_QUERY_TEMPERATUREunknownTEMPERAT
IOCTL_MINIPORT_SIGNATURE_SET_TEMPERATURE_THRESHOLDunknownSETTEMPT
IOCTL_MINIPORT_SIGNATURE_QUERY_PHYSICAL_TOPOLOGYunknownTOPOLOGY
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFOunknownENDURINF
NRB_FUNCTION_NVCACHE_INFODWORD236
NRB_FUNCTION_SPINDLE_STATUSDWORD229
NRB_FUNCTION_NVCACHE_POWER_MODE_SETDWORD0
NRB_FUNCTION_NVCACHE_POWER_MODE_RETURNDWORD1
NRB_FUNCTION_FLUSH_NVCACHEDWORD20
NRB_FUNCTION_QUERY_PINNED_SETDWORD18
NRB_FUNCTION_QUERY_CACHE_MISSDWORD19
NRB_FUNCTION_ADD_LBAS_PINNED_SETDWORD16
NRB_FUNCTION_REMOVE_LBAS_PINNED_SETDWORD17
NRB_FUNCTION_QUERY_ASCENDER_STATUSDWORD208
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUSDWORD209
NRB_FUNCTION_PASS_HINT_PAYLOADDWORD224
NRB_FUNCTION_NVSEPARATED_INFODWORD192
NRB_FUNCTION_NVSEPARATED_FLUSHDWORD193
NRB_FUNCTION_NVSEPARATED_WB_DISABLEDWORD194
NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULTDWORD195
NRB_SUCCESSDWORD0
NRB_ILLEGAL_REQUESTDWORD1
NRB_INVALID_PARAMETERDWORD2
NRB_INPUT_DATA_OVERRUNDWORD3
NRB_INPUT_DATA_UNDERRUNDWORD4
NRB_OUTPUT_DATA_OVERRUNDWORD5
NRB_OUTPUT_DATA_UNDERRUNDWORD6
NV_SEP_CACHE_PARAMETER_VERSION_1DWORD1
NV_SEP_CACHE_PARAMETER_VERSIONDWORD1
STORAGE_DIAGNOSTIC_STATUS_SUCCESSDWORD0
STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALLDWORD1
STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSIONDWORD2
STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETERDWORD3
STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATUREDWORD4
STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPEDWORD5
STORAGE_DIAGNOSTIC_STATUS_MORE_DATADWORD6
MINIPORT_DSM_NOTIFICATION_VERSION_1DWORD1
MINIPORT_DSM_NOTIFICATION_VERSIONDWORD1
MINIPORT_DSM_PROFILE_UNKNOWNDWORD0
MINIPORT_DSM_PROFILE_PAGE_FILEDWORD1
MINIPORT_DSM_PROFILE_HIBERNATION_FILEDWORD2
MINIPORT_DSM_PROFILE_CRASHDUMP_FILEDWORD3
MINIPORT_DSM_NOTIFY_FLAG_BEGINDWORD1
MINIPORT_DSM_NOTIFY_FLAG_ENDDWORD2
HYBRID_FUNCTION_GET_INFODWORD1
HYBRID_FUNCTION_DISABLE_CACHING_MEDIUMDWORD16
HYBRID_FUNCTION_ENABLE_CACHING_MEDIUMDWORD17
HYBRID_FUNCTION_SET_DIRTY_THRESHOLDDWORD18
HYBRID_FUNCTION_DEMOTE_BY_SIZEDWORD19
HYBRID_STATUS_SUCCESSDWORD0
HYBRID_STATUS_ILLEGAL_REQUESTDWORD1
HYBRID_STATUS_INVALID_PARAMETERDWORD2
HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALLDWORD3
HYBRID_STATUS_ENABLE_REFCOUNT_HOLDDWORD16
HYBRID_REQUEST_BLOCK_STRUCTURE_VERSIONDWORD1
HYBRID_REQUEST_INFO_STRUCTURE_VERSIONDWORD1
FIRMWARE_FUNCTION_GET_INFODWORD1
FIRMWARE_FUNCTION_DOWNLOADDWORD2
FIRMWARE_FUNCTION_ACTIVATEDWORD3
FIRMWARE_STATUS_SUCCESSDWORD0
FIRMWARE_STATUS_ERRORDWORD1
FIRMWARE_STATUS_ILLEGAL_REQUESTDWORD2
FIRMWARE_STATUS_INVALID_PARAMETERDWORD3
FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIGDWORD4
FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALLDWORD5
FIRMWARE_STATUS_INVALID_SLOTDWORD6
FIRMWARE_STATUS_INVALID_IMAGEDWORD7
FIRMWARE_STATUS_CONTROLLER_ERRORDWORD16
FIRMWARE_STATUS_POWER_CYCLE_REQUIREDDWORD32
FIRMWARE_STATUS_DEVICE_ERRORDWORD64
FIRMWARE_STATUS_INTERFACE_CRC_ERRORDWORD128
FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERRORDWORD129
FIRMWARE_STATUS_MEDIA_CHANGEDWORD130
FIRMWARE_STATUS_ID_NOT_FOUNDDWORD131
FIRMWARE_STATUS_MEDIA_CHANGE_REQUESTDWORD132
FIRMWARE_STATUS_COMMAND_ABORTDWORD133
FIRMWARE_STATUS_END_OF_MEDIADWORD134
FIRMWARE_STATUS_ILLEGAL_LENGTHDWORD135
FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSIONDWORD1
FIRMWARE_REQUEST_FLAG_CONTROLLERDWORD1
FIRMWARE_REQUEST_FLAG_LAST_SEGMENTDWORD2
FIRMWARE_REQUEST_FLAG_FIRST_SEGMENTDWORD4
FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESETDWORD268435456
FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESETDWORD536870912
FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGEDWORD1073741824
FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWAREDWORD2147483648
STORAGE_FIRMWARE_INFO_STRUCTURE_VERSIONDWORD1
STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2DWORD2
STORAGE_FIRMWARE_INFO_INVALID_SLOTDWORD255
STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTHDWORD16
STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSIONDWORD1
STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2DWORD2
STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSIONDWORD1
DUMP_POINTERS_VERSION_1DWORD1
DUMP_POINTERS_VERSION_2DWORD2
DUMP_POINTERS_VERSION_3DWORD3
DUMP_POINTERS_VERSION_4DWORD4
DUMP_DRIVER_NAME_LENGTHDWORD15
DUMP_EX_FLAG_SUPPORT_64BITMEMORYDWORD1
DUMP_EX_FLAG_SUPPORT_DD_TELEMETRYDWORD2
DUMP_EX_FLAG_RESUME_SUPPORTDWORD4
DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORTDWORD8
SCSI_IOCTL_DATA_OUTDWORD0
SCSI_IOCTL_DATA_INDWORD1
SCSI_IOCTL_DATA_UNSPECIFIEDDWORD2
SCSI_IOCTL_DATA_BIDIRECTIONALDWORD3
MPIO_IOCTL_FLAG_USE_PATHIDDWORD1
MPIO_IOCTL_FLAG_USE_SCSIADDRESSDWORD2
MPIO_IOCTL_FLAG_INVOLVE_DSMDWORD4
MAX_ISCSI_HBANAME_LENDWORD256
MAX_ISCSI_NAME_LENDWORD223
MAX_ISCSI_ALIAS_LENDWORD255
MAX_ISCSI_PORTAL_NAME_LENDWORD256
MAX_ISCSI_PORTAL_ALIAS_LENDWORD256
MAX_ISCSI_TEXT_ADDRESS_LENDWORD256
MAX_ISCSI_PORTAL_ADDRESS_LENDWORD256
MAX_ISCSI_DISCOVERY_DOMAIN_LENDWORD256
MAX_RADIUS_ADDRESS_LENDWORD41
ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERREDunknown0x00000040
ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERREDunknown0x00000020
ISCSI_SECURITY_FLAG_PFS_ENABLEDunknown0x00000010
ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLEDunknown0x00000008
ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLEDunknown0x00000004
ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLEDunknown0x00000002
ISCSI_SECURITY_FLAG_VALIDunknown0x00000001
ISCSI_LOGIN_OPTIONS_HEADER_DIGESTunknown0x00000001
ISCSI_LOGIN_OPTIONS_DATA_DIGESTunknown0x00000002
ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONSunknown0x00000004
ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAITunknown0x00000008
ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAINunknown0x00000010
ISCSI_LOGIN_OPTIONS_USERNAMEunknown0x00000020
ISCSI_LOGIN_OPTIONS_PASSWORDunknown0x00000040
ISCSI_LOGIN_OPTIONS_AUTH_TYPEunknown0x00000080
ID_IPV4_ADDRunknown1
ID_FQDNunknown2
ID_USER_FQDNunknown3
ID_IPV6_ADDRunknown5
ISCSI_LOGIN_FLAG_REQUIRE_IPSECDWORD1
ISCSI_LOGIN_FLAG_MULTIPATH_ENABLEDDWORD2
ISCSI_LOGIN_FLAG_RESERVED1DWORD4
ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPINGDWORD8
ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSEDWORD16
ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATIONDWORD32
ISCSI_LOGIN_OPTIONS_VERSIONDWORD0
ISCSI_TARGET_FLAG_HIDE_STATIC_TARGETDWORD2
ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATIONDWORD4

各言語での定義

定数の定義。C/C++〜Go タブは数値定数のみ(GUID・文字列定数は上の表 / HSP タブを参照)。HSP は #define global。

#define IOCTL_SCSI_BASE 4
#define FILE_DEVICE_SCSI 27
#define IOCTL_SCSI_PASS_THROUGH 315396
#define IOCTL_SCSI_MINIPORT 315400
#define IOCTL_SCSI_GET_INQUIRY_DATA 266252
#define IOCTL_SCSI_GET_CAPABILITIES 266256
#define IOCTL_SCSI_PASS_THROUGH_DIRECT 315412
#define IOCTL_SCSI_GET_ADDRESS 266264
#define IOCTL_SCSI_RESCAN_BUS 266268
#define IOCTL_SCSI_GET_DUMP_POINTERS 266272
#define IOCTL_SCSI_FREE_DUMP_POINTERS 266276
#define IOCTL_IDE_PASS_THROUGH 315432
#define IOCTL_ATA_PASS_THROUGH 315436
#define IOCTL_ATA_PASS_THROUGH_DIRECT 315440
#define IOCTL_ATA_MINIPORT 315444
#define IOCTL_MINIPORT_PROCESS_SERVICE_IRP 315448
#define IOCTL_MPIO_PASS_THROUGH_PATH 315452
#define IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT 315456
#define IOCTL_SCSI_PASS_THROUGH_EX 315460
#define IOCTL_SCSI_PASS_THROUGH_DIRECT_EX 315464
#define IOCTL_MPIO_PASS_THROUGH_PATH_EX 315468
#define IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX 315472
#define ATA_FLAGS_DRDY_REQUIRED 1
#define ATA_FLAGS_DATA_IN 2
#define ATA_FLAGS_DATA_OUT 4
#define ATA_FLAGS_48BIT_COMMAND 8
#define ATA_FLAGS_USE_DMA 16
#define ATA_FLAGS_NO_MULTIPLE 32
#define NRB_FUNCTION_NVCACHE_INFO 236
#define NRB_FUNCTION_SPINDLE_STATUS 229
#define NRB_FUNCTION_NVCACHE_POWER_MODE_SET 0
#define NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN 1
#define NRB_FUNCTION_FLUSH_NVCACHE 20
#define NRB_FUNCTION_QUERY_PINNED_SET 18
#define NRB_FUNCTION_QUERY_CACHE_MISS 19
#define NRB_FUNCTION_ADD_LBAS_PINNED_SET 16
#define NRB_FUNCTION_REMOVE_LBAS_PINNED_SET 17
#define NRB_FUNCTION_QUERY_ASCENDER_STATUS 208
#define NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS 209
#define NRB_FUNCTION_PASS_HINT_PAYLOAD 224
#define NRB_FUNCTION_NVSEPARATED_INFO 192
#define NRB_FUNCTION_NVSEPARATED_FLUSH 193
#define NRB_FUNCTION_NVSEPARATED_WB_DISABLE 194
#define NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT 195
#define NRB_SUCCESS 0
#define NRB_ILLEGAL_REQUEST 1
#define NRB_INVALID_PARAMETER 2
#define NRB_INPUT_DATA_OVERRUN 3
#define NRB_INPUT_DATA_UNDERRUN 4
#define NRB_OUTPUT_DATA_OVERRUN 5
#define NRB_OUTPUT_DATA_UNDERRUN 6
#define NV_SEP_CACHE_PARAMETER_VERSION_1 1
#define NV_SEP_CACHE_PARAMETER_VERSION 1
#define STORAGE_DIAGNOSTIC_STATUS_SUCCESS 0
#define STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL 1
#define STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION 2
#define STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER 3
#define STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE 4
#define STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE 5
#define STORAGE_DIAGNOSTIC_STATUS_MORE_DATA 6
#define MINIPORT_DSM_NOTIFICATION_VERSION_1 1
#define MINIPORT_DSM_NOTIFICATION_VERSION 1
#define MINIPORT_DSM_PROFILE_UNKNOWN 0
#define MINIPORT_DSM_PROFILE_PAGE_FILE 1
#define MINIPORT_DSM_PROFILE_HIBERNATION_FILE 2
#define MINIPORT_DSM_PROFILE_CRASHDUMP_FILE 3
#define MINIPORT_DSM_NOTIFY_FLAG_BEGIN 1
#define MINIPORT_DSM_NOTIFY_FLAG_END 2
#define HYBRID_FUNCTION_GET_INFO 1
#define HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM 16
#define HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM 17
#define HYBRID_FUNCTION_SET_DIRTY_THRESHOLD 18
#define HYBRID_FUNCTION_DEMOTE_BY_SIZE 19
#define HYBRID_STATUS_SUCCESS 0
#define HYBRID_STATUS_ILLEGAL_REQUEST 1
#define HYBRID_STATUS_INVALID_PARAMETER 2
#define HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL 3
#define HYBRID_STATUS_ENABLE_REFCOUNT_HOLD 16
#define HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION 1
#define HYBRID_REQUEST_INFO_STRUCTURE_VERSION 1
#define FIRMWARE_FUNCTION_GET_INFO 1
#define FIRMWARE_FUNCTION_DOWNLOAD 2
#define FIRMWARE_FUNCTION_ACTIVATE 3
#define FIRMWARE_STATUS_SUCCESS 0
#define FIRMWARE_STATUS_ERROR 1
#define FIRMWARE_STATUS_ILLEGAL_REQUEST 2
#define FIRMWARE_STATUS_INVALID_PARAMETER 3
#define FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG 4
#define FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL 5
#define FIRMWARE_STATUS_INVALID_SLOT 6
#define FIRMWARE_STATUS_INVALID_IMAGE 7
#define FIRMWARE_STATUS_CONTROLLER_ERROR 16
#define FIRMWARE_STATUS_POWER_CYCLE_REQUIRED 32
#define FIRMWARE_STATUS_DEVICE_ERROR 64
#define FIRMWARE_STATUS_INTERFACE_CRC_ERROR 128
#define FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR 129
#define FIRMWARE_STATUS_MEDIA_CHANGE 130
#define FIRMWARE_STATUS_ID_NOT_FOUND 131
#define FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST 132
#define FIRMWARE_STATUS_COMMAND_ABORT 133
#define FIRMWARE_STATUS_END_OF_MEDIA 134
#define FIRMWARE_STATUS_ILLEGAL_LENGTH 135
#define FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION 1
#define FIRMWARE_REQUEST_FLAG_CONTROLLER 1
#define FIRMWARE_REQUEST_FLAG_LAST_SEGMENT 2
#define FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT 4
#define FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET 268435456
#define FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET 536870912
#define FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE 1073741824
#define FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE 2147483648
#define STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION 1
#define STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2 2
#define STORAGE_FIRMWARE_INFO_INVALID_SLOT 255
#define STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH 16
#define STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION 1
#define STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2 2
#define STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION 1
#define DUMP_POINTERS_VERSION_1 1
#define DUMP_POINTERS_VERSION_2 2
#define DUMP_POINTERS_VERSION_3 3
#define DUMP_POINTERS_VERSION_4 4
#define DUMP_DRIVER_NAME_LENGTH 15
#define DUMP_EX_FLAG_SUPPORT_64BITMEMORY 1
#define DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY 2
#define DUMP_EX_FLAG_RESUME_SUPPORT 4
#define DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT 8
#define SCSI_IOCTL_DATA_OUT 0
#define SCSI_IOCTL_DATA_IN 1
#define SCSI_IOCTL_DATA_UNSPECIFIED 2
#define SCSI_IOCTL_DATA_BIDIRECTIONAL 3
#define MPIO_IOCTL_FLAG_USE_PATHID 1
#define MPIO_IOCTL_FLAG_USE_SCSIADDRESS 2
#define MPIO_IOCTL_FLAG_INVOLVE_DSM 4
#define MAX_ISCSI_HBANAME_LEN 256
#define MAX_ISCSI_NAME_LEN 223
#define MAX_ISCSI_ALIAS_LEN 255
#define MAX_ISCSI_PORTAL_NAME_LEN 256
#define MAX_ISCSI_PORTAL_ALIAS_LEN 256
#define MAX_ISCSI_TEXT_ADDRESS_LEN 256
#define MAX_ISCSI_PORTAL_ADDRESS_LEN 256
#define MAX_ISCSI_DISCOVERY_DOMAIN_LEN 256
#define MAX_RADIUS_ADDRESS_LEN 41
#define ID_IPV4_ADDR 1
#define ID_FQDN 2
#define ID_USER_FQDN 3
#define ID_IPV6_ADDR 5
#define ISCSI_LOGIN_FLAG_REQUIRE_IPSEC 1
#define ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED 2
#define ISCSI_LOGIN_FLAG_RESERVED1 4
#define ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING 8
#define ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE 16
#define ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION 32
#define ISCSI_LOGIN_OPTIONS_VERSION 0
#define ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET 2
#define ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION 4
public const uint IOCTL_SCSI_BASE = 4;
public const uint FILE_DEVICE_SCSI = 27;
public const uint IOCTL_SCSI_PASS_THROUGH = 315396;
public const uint IOCTL_SCSI_MINIPORT = 315400;
public const uint IOCTL_SCSI_GET_INQUIRY_DATA = 266252;
public const uint IOCTL_SCSI_GET_CAPABILITIES = 266256;
public const uint IOCTL_SCSI_PASS_THROUGH_DIRECT = 315412;
public const uint IOCTL_SCSI_GET_ADDRESS = 266264;
public const uint IOCTL_SCSI_RESCAN_BUS = 266268;
public const uint IOCTL_SCSI_GET_DUMP_POINTERS = 266272;
public const uint IOCTL_SCSI_FREE_DUMP_POINTERS = 266276;
public const uint IOCTL_IDE_PASS_THROUGH = 315432;
public const uint IOCTL_ATA_PASS_THROUGH = 315436;
public const uint IOCTL_ATA_PASS_THROUGH_DIRECT = 315440;
public const uint IOCTL_ATA_MINIPORT = 315444;
public const uint IOCTL_MINIPORT_PROCESS_SERVICE_IRP = 315448;
public const uint IOCTL_MPIO_PASS_THROUGH_PATH = 315452;
public const uint IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT = 315456;
public const uint IOCTL_SCSI_PASS_THROUGH_EX = 315460;
public const uint IOCTL_SCSI_PASS_THROUGH_DIRECT_EX = 315464;
public const uint IOCTL_MPIO_PASS_THROUGH_PATH_EX = 315468;
public const uint IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX = 315472;
public const uint ATA_FLAGS_DRDY_REQUIRED = 1;
public const uint ATA_FLAGS_DATA_IN = 2;
public const uint ATA_FLAGS_DATA_OUT = 4;
public const uint ATA_FLAGS_48BIT_COMMAND = 8;
public const uint ATA_FLAGS_USE_DMA = 16;
public const uint ATA_FLAGS_NO_MULTIPLE = 32;
public const uint NRB_FUNCTION_NVCACHE_INFO = 236;
public const uint NRB_FUNCTION_SPINDLE_STATUS = 229;
public const uint NRB_FUNCTION_NVCACHE_POWER_MODE_SET = 0;
public const uint NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN = 1;
public const uint NRB_FUNCTION_FLUSH_NVCACHE = 20;
public const uint NRB_FUNCTION_QUERY_PINNED_SET = 18;
public const uint NRB_FUNCTION_QUERY_CACHE_MISS = 19;
public const uint NRB_FUNCTION_ADD_LBAS_PINNED_SET = 16;
public const uint NRB_FUNCTION_REMOVE_LBAS_PINNED_SET = 17;
public const uint NRB_FUNCTION_QUERY_ASCENDER_STATUS = 208;
public const uint NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS = 209;
public const uint NRB_FUNCTION_PASS_HINT_PAYLOAD = 224;
public const uint NRB_FUNCTION_NVSEPARATED_INFO = 192;
public const uint NRB_FUNCTION_NVSEPARATED_FLUSH = 193;
public const uint NRB_FUNCTION_NVSEPARATED_WB_DISABLE = 194;
public const uint NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT = 195;
public const uint NRB_SUCCESS = 0;
public const uint NRB_ILLEGAL_REQUEST = 1;
public const uint NRB_INVALID_PARAMETER = 2;
public const uint NRB_INPUT_DATA_OVERRUN = 3;
public const uint NRB_INPUT_DATA_UNDERRUN = 4;
public const uint NRB_OUTPUT_DATA_OVERRUN = 5;
public const uint NRB_OUTPUT_DATA_UNDERRUN = 6;
public const uint NV_SEP_CACHE_PARAMETER_VERSION_1 = 1;
public const uint NV_SEP_CACHE_PARAMETER_VERSION = 1;
public const uint STORAGE_DIAGNOSTIC_STATUS_SUCCESS = 0;
public const uint STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL = 1;
public const uint STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION = 2;
public const uint STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER = 3;
public const uint STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE = 4;
public const uint STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE = 5;
public const uint STORAGE_DIAGNOSTIC_STATUS_MORE_DATA = 6;
public const uint MINIPORT_DSM_NOTIFICATION_VERSION_1 = 1;
public const uint MINIPORT_DSM_NOTIFICATION_VERSION = 1;
public const uint MINIPORT_DSM_PROFILE_UNKNOWN = 0;
public const uint MINIPORT_DSM_PROFILE_PAGE_FILE = 1;
public const uint MINIPORT_DSM_PROFILE_HIBERNATION_FILE = 2;
public const uint MINIPORT_DSM_PROFILE_CRASHDUMP_FILE = 3;
public const uint MINIPORT_DSM_NOTIFY_FLAG_BEGIN = 1;
public const uint MINIPORT_DSM_NOTIFY_FLAG_END = 2;
public const uint HYBRID_FUNCTION_GET_INFO = 1;
public const uint HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM = 16;
public const uint HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM = 17;
public const uint HYBRID_FUNCTION_SET_DIRTY_THRESHOLD = 18;
public const uint HYBRID_FUNCTION_DEMOTE_BY_SIZE = 19;
public const uint HYBRID_STATUS_SUCCESS = 0;
public const uint HYBRID_STATUS_ILLEGAL_REQUEST = 1;
public const uint HYBRID_STATUS_INVALID_PARAMETER = 2;
public const uint HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL = 3;
public const uint HYBRID_STATUS_ENABLE_REFCOUNT_HOLD = 16;
public const uint HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION = 1;
public const uint HYBRID_REQUEST_INFO_STRUCTURE_VERSION = 1;
public const uint FIRMWARE_FUNCTION_GET_INFO = 1;
public const uint FIRMWARE_FUNCTION_DOWNLOAD = 2;
public const uint FIRMWARE_FUNCTION_ACTIVATE = 3;
public const uint FIRMWARE_STATUS_SUCCESS = 0;
public const uint FIRMWARE_STATUS_ERROR = 1;
public const uint FIRMWARE_STATUS_ILLEGAL_REQUEST = 2;
public const uint FIRMWARE_STATUS_INVALID_PARAMETER = 3;
public const uint FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG = 4;
public const uint FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL = 5;
public const uint FIRMWARE_STATUS_INVALID_SLOT = 6;
public const uint FIRMWARE_STATUS_INVALID_IMAGE = 7;
public const uint FIRMWARE_STATUS_CONTROLLER_ERROR = 16;
public const uint FIRMWARE_STATUS_POWER_CYCLE_REQUIRED = 32;
public const uint FIRMWARE_STATUS_DEVICE_ERROR = 64;
public const uint FIRMWARE_STATUS_INTERFACE_CRC_ERROR = 128;
public const uint FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR = 129;
public const uint FIRMWARE_STATUS_MEDIA_CHANGE = 130;
public const uint FIRMWARE_STATUS_ID_NOT_FOUND = 131;
public const uint FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST = 132;
public const uint FIRMWARE_STATUS_COMMAND_ABORT = 133;
public const uint FIRMWARE_STATUS_END_OF_MEDIA = 134;
public const uint FIRMWARE_STATUS_ILLEGAL_LENGTH = 135;
public const uint FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION = 1;
public const uint FIRMWARE_REQUEST_FLAG_CONTROLLER = 1;
public const uint FIRMWARE_REQUEST_FLAG_LAST_SEGMENT = 2;
public const uint FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT = 4;
public const uint FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET = 268435456;
public const uint FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET = 536870912;
public const uint FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE = 1073741824;
public const uint FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE = 2147483648;
public const uint STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION = 1;
public const uint STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2 = 2;
public const uint STORAGE_FIRMWARE_INFO_INVALID_SLOT = 255;
public const uint STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH = 16;
public const uint STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION = 1;
public const uint STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2 = 2;
public const uint STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION = 1;
public const uint DUMP_POINTERS_VERSION_1 = 1;
public const uint DUMP_POINTERS_VERSION_2 = 2;
public const uint DUMP_POINTERS_VERSION_3 = 3;
public const uint DUMP_POINTERS_VERSION_4 = 4;
public const uint DUMP_DRIVER_NAME_LENGTH = 15;
public const uint DUMP_EX_FLAG_SUPPORT_64BITMEMORY = 1;
public const uint DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY = 2;
public const uint DUMP_EX_FLAG_RESUME_SUPPORT = 4;
public const uint DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT = 8;
public const uint SCSI_IOCTL_DATA_OUT = 0;
public const uint SCSI_IOCTL_DATA_IN = 1;
public const uint SCSI_IOCTL_DATA_UNSPECIFIED = 2;
public const uint SCSI_IOCTL_DATA_BIDIRECTIONAL = 3;
public const uint MPIO_IOCTL_FLAG_USE_PATHID = 1;
public const uint MPIO_IOCTL_FLAG_USE_SCSIADDRESS = 2;
public const uint MPIO_IOCTL_FLAG_INVOLVE_DSM = 4;
public const uint MAX_ISCSI_HBANAME_LEN = 256;
public const uint MAX_ISCSI_NAME_LEN = 223;
public const uint MAX_ISCSI_ALIAS_LEN = 255;
public const uint MAX_ISCSI_PORTAL_NAME_LEN = 256;
public const uint MAX_ISCSI_PORTAL_ALIAS_LEN = 256;
public const uint MAX_ISCSI_TEXT_ADDRESS_LEN = 256;
public const uint MAX_ISCSI_PORTAL_ADDRESS_LEN = 256;
public const uint MAX_ISCSI_DISCOVERY_DOMAIN_LEN = 256;
public const uint MAX_RADIUS_ADDRESS_LEN = 41;
public const int ID_IPV4_ADDR = 1;
public const int ID_FQDN = 2;
public const int ID_USER_FQDN = 3;
public const int ID_IPV6_ADDR = 5;
public const uint ISCSI_LOGIN_FLAG_REQUIRE_IPSEC = 1;
public const uint ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED = 2;
public const uint ISCSI_LOGIN_FLAG_RESERVED1 = 4;
public const uint ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING = 8;
public const uint ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE = 16;
public const uint ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION = 32;
public const uint ISCSI_LOGIN_OPTIONS_VERSION = 0;
public const uint ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET = 2;
public const uint ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION = 4;
IOCTL_SCSI_BASE = 4
FILE_DEVICE_SCSI = 27
IOCTL_SCSI_PASS_THROUGH = 315396
IOCTL_SCSI_MINIPORT = 315400
IOCTL_SCSI_GET_INQUIRY_DATA = 266252
IOCTL_SCSI_GET_CAPABILITIES = 266256
IOCTL_SCSI_PASS_THROUGH_DIRECT = 315412
IOCTL_SCSI_GET_ADDRESS = 266264
IOCTL_SCSI_RESCAN_BUS = 266268
IOCTL_SCSI_GET_DUMP_POINTERS = 266272
IOCTL_SCSI_FREE_DUMP_POINTERS = 266276
IOCTL_IDE_PASS_THROUGH = 315432
IOCTL_ATA_PASS_THROUGH = 315436
IOCTL_ATA_PASS_THROUGH_DIRECT = 315440
IOCTL_ATA_MINIPORT = 315444
IOCTL_MINIPORT_PROCESS_SERVICE_IRP = 315448
IOCTL_MPIO_PASS_THROUGH_PATH = 315452
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT = 315456
IOCTL_SCSI_PASS_THROUGH_EX = 315460
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX = 315464
IOCTL_MPIO_PASS_THROUGH_PATH_EX = 315468
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX = 315472
ATA_FLAGS_DRDY_REQUIRED = 1
ATA_FLAGS_DATA_IN = 2
ATA_FLAGS_DATA_OUT = 4
ATA_FLAGS_48BIT_COMMAND = 8
ATA_FLAGS_USE_DMA = 16
ATA_FLAGS_NO_MULTIPLE = 32
NRB_FUNCTION_NVCACHE_INFO = 236
NRB_FUNCTION_SPINDLE_STATUS = 229
NRB_FUNCTION_NVCACHE_POWER_MODE_SET = 0
NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN = 1
NRB_FUNCTION_FLUSH_NVCACHE = 20
NRB_FUNCTION_QUERY_PINNED_SET = 18
NRB_FUNCTION_QUERY_CACHE_MISS = 19
NRB_FUNCTION_ADD_LBAS_PINNED_SET = 16
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET = 17
NRB_FUNCTION_QUERY_ASCENDER_STATUS = 208
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS = 209
NRB_FUNCTION_PASS_HINT_PAYLOAD = 224
NRB_FUNCTION_NVSEPARATED_INFO = 192
NRB_FUNCTION_NVSEPARATED_FLUSH = 193
NRB_FUNCTION_NVSEPARATED_WB_DISABLE = 194
NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT = 195
NRB_SUCCESS = 0
NRB_ILLEGAL_REQUEST = 1
NRB_INVALID_PARAMETER = 2
NRB_INPUT_DATA_OVERRUN = 3
NRB_INPUT_DATA_UNDERRUN = 4
NRB_OUTPUT_DATA_OVERRUN = 5
NRB_OUTPUT_DATA_UNDERRUN = 6
NV_SEP_CACHE_PARAMETER_VERSION_1 = 1
NV_SEP_CACHE_PARAMETER_VERSION = 1
STORAGE_DIAGNOSTIC_STATUS_SUCCESS = 0
STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL = 1
STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION = 2
STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER = 3
STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE = 4
STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE = 5
STORAGE_DIAGNOSTIC_STATUS_MORE_DATA = 6
MINIPORT_DSM_NOTIFICATION_VERSION_1 = 1
MINIPORT_DSM_NOTIFICATION_VERSION = 1
MINIPORT_DSM_PROFILE_UNKNOWN = 0
MINIPORT_DSM_PROFILE_PAGE_FILE = 1
MINIPORT_DSM_PROFILE_HIBERNATION_FILE = 2
MINIPORT_DSM_PROFILE_CRASHDUMP_FILE = 3
MINIPORT_DSM_NOTIFY_FLAG_BEGIN = 1
MINIPORT_DSM_NOTIFY_FLAG_END = 2
HYBRID_FUNCTION_GET_INFO = 1
HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM = 16
HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM = 17
HYBRID_FUNCTION_SET_DIRTY_THRESHOLD = 18
HYBRID_FUNCTION_DEMOTE_BY_SIZE = 19
HYBRID_STATUS_SUCCESS = 0
HYBRID_STATUS_ILLEGAL_REQUEST = 1
HYBRID_STATUS_INVALID_PARAMETER = 2
HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL = 3
HYBRID_STATUS_ENABLE_REFCOUNT_HOLD = 16
HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION = 1
HYBRID_REQUEST_INFO_STRUCTURE_VERSION = 1
FIRMWARE_FUNCTION_GET_INFO = 1
FIRMWARE_FUNCTION_DOWNLOAD = 2
FIRMWARE_FUNCTION_ACTIVATE = 3
FIRMWARE_STATUS_SUCCESS = 0
FIRMWARE_STATUS_ERROR = 1
FIRMWARE_STATUS_ILLEGAL_REQUEST = 2
FIRMWARE_STATUS_INVALID_PARAMETER = 3
FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG = 4
FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL = 5
FIRMWARE_STATUS_INVALID_SLOT = 6
FIRMWARE_STATUS_INVALID_IMAGE = 7
FIRMWARE_STATUS_CONTROLLER_ERROR = 16
FIRMWARE_STATUS_POWER_CYCLE_REQUIRED = 32
FIRMWARE_STATUS_DEVICE_ERROR = 64
FIRMWARE_STATUS_INTERFACE_CRC_ERROR = 128
FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR = 129
FIRMWARE_STATUS_MEDIA_CHANGE = 130
FIRMWARE_STATUS_ID_NOT_FOUND = 131
FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST = 132
FIRMWARE_STATUS_COMMAND_ABORT = 133
FIRMWARE_STATUS_END_OF_MEDIA = 134
FIRMWARE_STATUS_ILLEGAL_LENGTH = 135
FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION = 1
FIRMWARE_REQUEST_FLAG_CONTROLLER = 1
FIRMWARE_REQUEST_FLAG_LAST_SEGMENT = 2
FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT = 4
FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET = 268435456
FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET = 536870912
FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE = 1073741824
FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE = 2147483648
STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION = 1
STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2 = 2
STORAGE_FIRMWARE_INFO_INVALID_SLOT = 255
STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH = 16
STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION = 1
STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2 = 2
STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION = 1
DUMP_POINTERS_VERSION_1 = 1
DUMP_POINTERS_VERSION_2 = 2
DUMP_POINTERS_VERSION_3 = 3
DUMP_POINTERS_VERSION_4 = 4
DUMP_DRIVER_NAME_LENGTH = 15
DUMP_EX_FLAG_SUPPORT_64BITMEMORY = 1
DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY = 2
DUMP_EX_FLAG_RESUME_SUPPORT = 4
DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT = 8
SCSI_IOCTL_DATA_OUT = 0
SCSI_IOCTL_DATA_IN = 1
SCSI_IOCTL_DATA_UNSPECIFIED = 2
SCSI_IOCTL_DATA_BIDIRECTIONAL = 3
MPIO_IOCTL_FLAG_USE_PATHID = 1
MPIO_IOCTL_FLAG_USE_SCSIADDRESS = 2
MPIO_IOCTL_FLAG_INVOLVE_DSM = 4
MAX_ISCSI_HBANAME_LEN = 256
MAX_ISCSI_NAME_LEN = 223
MAX_ISCSI_ALIAS_LEN = 255
MAX_ISCSI_PORTAL_NAME_LEN = 256
MAX_ISCSI_PORTAL_ALIAS_LEN = 256
MAX_ISCSI_TEXT_ADDRESS_LEN = 256
MAX_ISCSI_PORTAL_ADDRESS_LEN = 256
MAX_ISCSI_DISCOVERY_DOMAIN_LEN = 256
MAX_RADIUS_ADDRESS_LEN = 41
ID_IPV4_ADDR = 1
ID_FQDN = 2
ID_USER_FQDN = 3
ID_IPV6_ADDR = 5
ISCSI_LOGIN_FLAG_REQUIRE_IPSEC = 1
ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED = 2
ISCSI_LOGIN_FLAG_RESERVED1 = 4
ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING = 8
ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE = 16
ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION = 32
ISCSI_LOGIN_OPTIONS_VERSION = 0
ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET = 2
ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION = 4
pub const IOCTL_SCSI_BASE: u32 = 4;
pub const FILE_DEVICE_SCSI: u32 = 27;
pub const IOCTL_SCSI_PASS_THROUGH: u32 = 315396;
pub const IOCTL_SCSI_MINIPORT: u32 = 315400;
pub const IOCTL_SCSI_GET_INQUIRY_DATA: u32 = 266252;
pub const IOCTL_SCSI_GET_CAPABILITIES: u32 = 266256;
pub const IOCTL_SCSI_PASS_THROUGH_DIRECT: u32 = 315412;
pub const IOCTL_SCSI_GET_ADDRESS: u32 = 266264;
pub const IOCTL_SCSI_RESCAN_BUS: u32 = 266268;
pub const IOCTL_SCSI_GET_DUMP_POINTERS: u32 = 266272;
pub const IOCTL_SCSI_FREE_DUMP_POINTERS: u32 = 266276;
pub const IOCTL_IDE_PASS_THROUGH: u32 = 315432;
pub const IOCTL_ATA_PASS_THROUGH: u32 = 315436;
pub const IOCTL_ATA_PASS_THROUGH_DIRECT: u32 = 315440;
pub const IOCTL_ATA_MINIPORT: u32 = 315444;
pub const IOCTL_MINIPORT_PROCESS_SERVICE_IRP: u32 = 315448;
pub const IOCTL_MPIO_PASS_THROUGH_PATH: u32 = 315452;
pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT: u32 = 315456;
pub const IOCTL_SCSI_PASS_THROUGH_EX: u32 = 315460;
pub const IOCTL_SCSI_PASS_THROUGH_DIRECT_EX: u32 = 315464;
pub const IOCTL_MPIO_PASS_THROUGH_PATH_EX: u32 = 315468;
pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX: u32 = 315472;
pub const ATA_FLAGS_DRDY_REQUIRED: u32 = 1;
pub const ATA_FLAGS_DATA_IN: u32 = 2;
pub const ATA_FLAGS_DATA_OUT: u32 = 4;
pub const ATA_FLAGS_48BIT_COMMAND: u32 = 8;
pub const ATA_FLAGS_USE_DMA: u32 = 16;
pub const ATA_FLAGS_NO_MULTIPLE: u32 = 32;
pub const NRB_FUNCTION_NVCACHE_INFO: u32 = 236;
pub const NRB_FUNCTION_SPINDLE_STATUS: u32 = 229;
pub const NRB_FUNCTION_NVCACHE_POWER_MODE_SET: u32 = 0;
pub const NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN: u32 = 1;
pub const NRB_FUNCTION_FLUSH_NVCACHE: u32 = 20;
pub const NRB_FUNCTION_QUERY_PINNED_SET: u32 = 18;
pub const NRB_FUNCTION_QUERY_CACHE_MISS: u32 = 19;
pub const NRB_FUNCTION_ADD_LBAS_PINNED_SET: u32 = 16;
pub const NRB_FUNCTION_REMOVE_LBAS_PINNED_SET: u32 = 17;
pub const NRB_FUNCTION_QUERY_ASCENDER_STATUS: u32 = 208;
pub const NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS: u32 = 209;
pub const NRB_FUNCTION_PASS_HINT_PAYLOAD: u32 = 224;
pub const NRB_FUNCTION_NVSEPARATED_INFO: u32 = 192;
pub const NRB_FUNCTION_NVSEPARATED_FLUSH: u32 = 193;
pub const NRB_FUNCTION_NVSEPARATED_WB_DISABLE: u32 = 194;
pub const NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT: u32 = 195;
pub const NRB_SUCCESS: u32 = 0;
pub const NRB_ILLEGAL_REQUEST: u32 = 1;
pub const NRB_INVALID_PARAMETER: u32 = 2;
pub const NRB_INPUT_DATA_OVERRUN: u32 = 3;
pub const NRB_INPUT_DATA_UNDERRUN: u32 = 4;
pub const NRB_OUTPUT_DATA_OVERRUN: u32 = 5;
pub const NRB_OUTPUT_DATA_UNDERRUN: u32 = 6;
pub const NV_SEP_CACHE_PARAMETER_VERSION_1: u32 = 1;
pub const NV_SEP_CACHE_PARAMETER_VERSION: u32 = 1;
pub const STORAGE_DIAGNOSTIC_STATUS_SUCCESS: u32 = 0;
pub const STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL: u32 = 1;
pub const STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION: u32 = 2;
pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER: u32 = 3;
pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE: u32 = 4;
pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE: u32 = 5;
pub const STORAGE_DIAGNOSTIC_STATUS_MORE_DATA: u32 = 6;
pub const MINIPORT_DSM_NOTIFICATION_VERSION_1: u32 = 1;
pub const MINIPORT_DSM_NOTIFICATION_VERSION: u32 = 1;
pub const MINIPORT_DSM_PROFILE_UNKNOWN: u32 = 0;
pub const MINIPORT_DSM_PROFILE_PAGE_FILE: u32 = 1;
pub const MINIPORT_DSM_PROFILE_HIBERNATION_FILE: u32 = 2;
pub const MINIPORT_DSM_PROFILE_CRASHDUMP_FILE: u32 = 3;
pub const MINIPORT_DSM_NOTIFY_FLAG_BEGIN: u32 = 1;
pub const MINIPORT_DSM_NOTIFY_FLAG_END: u32 = 2;
pub const HYBRID_FUNCTION_GET_INFO: u32 = 1;
pub const HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM: u32 = 16;
pub const HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM: u32 = 17;
pub const HYBRID_FUNCTION_SET_DIRTY_THRESHOLD: u32 = 18;
pub const HYBRID_FUNCTION_DEMOTE_BY_SIZE: u32 = 19;
pub const HYBRID_STATUS_SUCCESS: u32 = 0;
pub const HYBRID_STATUS_ILLEGAL_REQUEST: u32 = 1;
pub const HYBRID_STATUS_INVALID_PARAMETER: u32 = 2;
pub const HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL: u32 = 3;
pub const HYBRID_STATUS_ENABLE_REFCOUNT_HOLD: u32 = 16;
pub const HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION: u32 = 1;
pub const HYBRID_REQUEST_INFO_STRUCTURE_VERSION: u32 = 1;
pub const FIRMWARE_FUNCTION_GET_INFO: u32 = 1;
pub const FIRMWARE_FUNCTION_DOWNLOAD: u32 = 2;
pub const FIRMWARE_FUNCTION_ACTIVATE: u32 = 3;
pub const FIRMWARE_STATUS_SUCCESS: u32 = 0;
pub const FIRMWARE_STATUS_ERROR: u32 = 1;
pub const FIRMWARE_STATUS_ILLEGAL_REQUEST: u32 = 2;
pub const FIRMWARE_STATUS_INVALID_PARAMETER: u32 = 3;
pub const FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG: u32 = 4;
pub const FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL: u32 = 5;
pub const FIRMWARE_STATUS_INVALID_SLOT: u32 = 6;
pub const FIRMWARE_STATUS_INVALID_IMAGE: u32 = 7;
pub const FIRMWARE_STATUS_CONTROLLER_ERROR: u32 = 16;
pub const FIRMWARE_STATUS_POWER_CYCLE_REQUIRED: u32 = 32;
pub const FIRMWARE_STATUS_DEVICE_ERROR: u32 = 64;
pub const FIRMWARE_STATUS_INTERFACE_CRC_ERROR: u32 = 128;
pub const FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR: u32 = 129;
pub const FIRMWARE_STATUS_MEDIA_CHANGE: u32 = 130;
pub const FIRMWARE_STATUS_ID_NOT_FOUND: u32 = 131;
pub const FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST: u32 = 132;
pub const FIRMWARE_STATUS_COMMAND_ABORT: u32 = 133;
pub const FIRMWARE_STATUS_END_OF_MEDIA: u32 = 134;
pub const FIRMWARE_STATUS_ILLEGAL_LENGTH: u32 = 135;
pub const FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION: u32 = 1;
pub const FIRMWARE_REQUEST_FLAG_CONTROLLER: u32 = 1;
pub const FIRMWARE_REQUEST_FLAG_LAST_SEGMENT: u32 = 2;
pub const FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT: u32 = 4;
pub const FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET: u32 = 268435456;
pub const FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET: u32 = 536870912;
pub const FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE: u32 = 1073741824;
pub const FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE: u32 = 2147483648;
pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION: u32 = 1;
pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2: u32 = 2;
pub const STORAGE_FIRMWARE_INFO_INVALID_SLOT: u32 = 255;
pub const STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH: u32 = 16;
pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION: u32 = 1;
pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2: u32 = 2;
pub const STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION: u32 = 1;
pub const DUMP_POINTERS_VERSION_1: u32 = 1;
pub const DUMP_POINTERS_VERSION_2: u32 = 2;
pub const DUMP_POINTERS_VERSION_3: u32 = 3;
pub const DUMP_POINTERS_VERSION_4: u32 = 4;
pub const DUMP_DRIVER_NAME_LENGTH: u32 = 15;
pub const DUMP_EX_FLAG_SUPPORT_64BITMEMORY: u32 = 1;
pub const DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY: u32 = 2;
pub const DUMP_EX_FLAG_RESUME_SUPPORT: u32 = 4;
pub const DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT: u32 = 8;
pub const SCSI_IOCTL_DATA_OUT: u32 = 0;
pub const SCSI_IOCTL_DATA_IN: u32 = 1;
pub const SCSI_IOCTL_DATA_UNSPECIFIED: u32 = 2;
pub const SCSI_IOCTL_DATA_BIDIRECTIONAL: u32 = 3;
pub const MPIO_IOCTL_FLAG_USE_PATHID: u32 = 1;
pub const MPIO_IOCTL_FLAG_USE_SCSIADDRESS: u32 = 2;
pub const MPIO_IOCTL_FLAG_INVOLVE_DSM: u32 = 4;
pub const MAX_ISCSI_HBANAME_LEN: u32 = 256;
pub const MAX_ISCSI_NAME_LEN: u32 = 223;
pub const MAX_ISCSI_ALIAS_LEN: u32 = 255;
pub const MAX_ISCSI_PORTAL_NAME_LEN: u32 = 256;
pub const MAX_ISCSI_PORTAL_ALIAS_LEN: u32 = 256;
pub const MAX_ISCSI_TEXT_ADDRESS_LEN: u32 = 256;
pub const MAX_ISCSI_PORTAL_ADDRESS_LEN: u32 = 256;
pub const MAX_ISCSI_DISCOVERY_DOMAIN_LEN: u32 = 256;
pub const MAX_RADIUS_ADDRESS_LEN: u32 = 41;
pub const ID_IPV4_ADDR: i32 = 1;
pub const ID_FQDN: i32 = 2;
pub const ID_USER_FQDN: i32 = 3;
pub const ID_IPV6_ADDR: i32 = 5;
pub const ISCSI_LOGIN_FLAG_REQUIRE_IPSEC: u32 = 1;
pub const ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED: u32 = 2;
pub const ISCSI_LOGIN_FLAG_RESERVED1: u32 = 4;
pub const ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING: u32 = 8;
pub const ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE: u32 = 16;
pub const ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION: u32 = 32;
pub const ISCSI_LOGIN_OPTIONS_VERSION: u32 = 0;
pub const ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET: u32 = 2;
pub const ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION: u32 = 4;
const (
	IOCTL_SCSI_BASE uint32 = 4
	FILE_DEVICE_SCSI uint32 = 27
	IOCTL_SCSI_PASS_THROUGH uint32 = 315396
	IOCTL_SCSI_MINIPORT uint32 = 315400
	IOCTL_SCSI_GET_INQUIRY_DATA uint32 = 266252
	IOCTL_SCSI_GET_CAPABILITIES uint32 = 266256
	IOCTL_SCSI_PASS_THROUGH_DIRECT uint32 = 315412
	IOCTL_SCSI_GET_ADDRESS uint32 = 266264
	IOCTL_SCSI_RESCAN_BUS uint32 = 266268
	IOCTL_SCSI_GET_DUMP_POINTERS uint32 = 266272
	IOCTL_SCSI_FREE_DUMP_POINTERS uint32 = 266276
	IOCTL_IDE_PASS_THROUGH uint32 = 315432
	IOCTL_ATA_PASS_THROUGH uint32 = 315436
	IOCTL_ATA_PASS_THROUGH_DIRECT uint32 = 315440
	IOCTL_ATA_MINIPORT uint32 = 315444
	IOCTL_MINIPORT_PROCESS_SERVICE_IRP uint32 = 315448
	IOCTL_MPIO_PASS_THROUGH_PATH uint32 = 315452
	IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT uint32 = 315456
	IOCTL_SCSI_PASS_THROUGH_EX uint32 = 315460
	IOCTL_SCSI_PASS_THROUGH_DIRECT_EX uint32 = 315464
	IOCTL_MPIO_PASS_THROUGH_PATH_EX uint32 = 315468
	IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX uint32 = 315472
	ATA_FLAGS_DRDY_REQUIRED uint32 = 1
	ATA_FLAGS_DATA_IN uint32 = 2
	ATA_FLAGS_DATA_OUT uint32 = 4
	ATA_FLAGS_48BIT_COMMAND uint32 = 8
	ATA_FLAGS_USE_DMA uint32 = 16
	ATA_FLAGS_NO_MULTIPLE uint32 = 32
	NRB_FUNCTION_NVCACHE_INFO uint32 = 236
	NRB_FUNCTION_SPINDLE_STATUS uint32 = 229
	NRB_FUNCTION_NVCACHE_POWER_MODE_SET uint32 = 0
	NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN uint32 = 1
	NRB_FUNCTION_FLUSH_NVCACHE uint32 = 20
	NRB_FUNCTION_QUERY_PINNED_SET uint32 = 18
	NRB_FUNCTION_QUERY_CACHE_MISS uint32 = 19
	NRB_FUNCTION_ADD_LBAS_PINNED_SET uint32 = 16
	NRB_FUNCTION_REMOVE_LBAS_PINNED_SET uint32 = 17
	NRB_FUNCTION_QUERY_ASCENDER_STATUS uint32 = 208
	NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS uint32 = 209
	NRB_FUNCTION_PASS_HINT_PAYLOAD uint32 = 224
	NRB_FUNCTION_NVSEPARATED_INFO uint32 = 192
	NRB_FUNCTION_NVSEPARATED_FLUSH uint32 = 193
	NRB_FUNCTION_NVSEPARATED_WB_DISABLE uint32 = 194
	NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT uint32 = 195
	NRB_SUCCESS uint32 = 0
	NRB_ILLEGAL_REQUEST uint32 = 1
	NRB_INVALID_PARAMETER uint32 = 2
	NRB_INPUT_DATA_OVERRUN uint32 = 3
	NRB_INPUT_DATA_UNDERRUN uint32 = 4
	NRB_OUTPUT_DATA_OVERRUN uint32 = 5
	NRB_OUTPUT_DATA_UNDERRUN uint32 = 6
	NV_SEP_CACHE_PARAMETER_VERSION_1 uint32 = 1
	NV_SEP_CACHE_PARAMETER_VERSION uint32 = 1
	STORAGE_DIAGNOSTIC_STATUS_SUCCESS uint32 = 0
	STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL uint32 = 1
	STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION uint32 = 2
	STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER uint32 = 3
	STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE uint32 = 4
	STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE uint32 = 5
	STORAGE_DIAGNOSTIC_STATUS_MORE_DATA uint32 = 6
	MINIPORT_DSM_NOTIFICATION_VERSION_1 uint32 = 1
	MINIPORT_DSM_NOTIFICATION_VERSION uint32 = 1
	MINIPORT_DSM_PROFILE_UNKNOWN uint32 = 0
	MINIPORT_DSM_PROFILE_PAGE_FILE uint32 = 1
	MINIPORT_DSM_PROFILE_HIBERNATION_FILE uint32 = 2
	MINIPORT_DSM_PROFILE_CRASHDUMP_FILE uint32 = 3
	MINIPORT_DSM_NOTIFY_FLAG_BEGIN uint32 = 1
	MINIPORT_DSM_NOTIFY_FLAG_END uint32 = 2
	HYBRID_FUNCTION_GET_INFO uint32 = 1
	HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM uint32 = 16
	HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM uint32 = 17
	HYBRID_FUNCTION_SET_DIRTY_THRESHOLD uint32 = 18
	HYBRID_FUNCTION_DEMOTE_BY_SIZE uint32 = 19
	HYBRID_STATUS_SUCCESS uint32 = 0
	HYBRID_STATUS_ILLEGAL_REQUEST uint32 = 1
	HYBRID_STATUS_INVALID_PARAMETER uint32 = 2
	HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL uint32 = 3
	HYBRID_STATUS_ENABLE_REFCOUNT_HOLD uint32 = 16
	HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION uint32 = 1
	HYBRID_REQUEST_INFO_STRUCTURE_VERSION uint32 = 1
	FIRMWARE_FUNCTION_GET_INFO uint32 = 1
	FIRMWARE_FUNCTION_DOWNLOAD uint32 = 2
	FIRMWARE_FUNCTION_ACTIVATE uint32 = 3
	FIRMWARE_STATUS_SUCCESS uint32 = 0
	FIRMWARE_STATUS_ERROR uint32 = 1
	FIRMWARE_STATUS_ILLEGAL_REQUEST uint32 = 2
	FIRMWARE_STATUS_INVALID_PARAMETER uint32 = 3
	FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG uint32 = 4
	FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL uint32 = 5
	FIRMWARE_STATUS_INVALID_SLOT uint32 = 6
	FIRMWARE_STATUS_INVALID_IMAGE uint32 = 7
	FIRMWARE_STATUS_CONTROLLER_ERROR uint32 = 16
	FIRMWARE_STATUS_POWER_CYCLE_REQUIRED uint32 = 32
	FIRMWARE_STATUS_DEVICE_ERROR uint32 = 64
	FIRMWARE_STATUS_INTERFACE_CRC_ERROR uint32 = 128
	FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR uint32 = 129
	FIRMWARE_STATUS_MEDIA_CHANGE uint32 = 130
	FIRMWARE_STATUS_ID_NOT_FOUND uint32 = 131
	FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST uint32 = 132
	FIRMWARE_STATUS_COMMAND_ABORT uint32 = 133
	FIRMWARE_STATUS_END_OF_MEDIA uint32 = 134
	FIRMWARE_STATUS_ILLEGAL_LENGTH uint32 = 135
	FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION uint32 = 1
	FIRMWARE_REQUEST_FLAG_CONTROLLER uint32 = 1
	FIRMWARE_REQUEST_FLAG_LAST_SEGMENT uint32 = 2
	FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT uint32 = 4
	FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET uint32 = 268435456
	FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET uint32 = 536870912
	FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE uint32 = 1073741824
	FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE uint32 = 2147483648
	STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION uint32 = 1
	STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2 uint32 = 2
	STORAGE_FIRMWARE_INFO_INVALID_SLOT uint32 = 255
	STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH uint32 = 16
	STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION uint32 = 1
	STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2 uint32 = 2
	STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION uint32 = 1
	DUMP_POINTERS_VERSION_1 uint32 = 1
	DUMP_POINTERS_VERSION_2 uint32 = 2
	DUMP_POINTERS_VERSION_3 uint32 = 3
	DUMP_POINTERS_VERSION_4 uint32 = 4
	DUMP_DRIVER_NAME_LENGTH uint32 = 15
	DUMP_EX_FLAG_SUPPORT_64BITMEMORY uint32 = 1
	DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY uint32 = 2
	DUMP_EX_FLAG_RESUME_SUPPORT uint32 = 4
	DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT uint32 = 8
	SCSI_IOCTL_DATA_OUT uint32 = 0
	SCSI_IOCTL_DATA_IN uint32 = 1
	SCSI_IOCTL_DATA_UNSPECIFIED uint32 = 2
	SCSI_IOCTL_DATA_BIDIRECTIONAL uint32 = 3
	MPIO_IOCTL_FLAG_USE_PATHID uint32 = 1
	MPIO_IOCTL_FLAG_USE_SCSIADDRESS uint32 = 2
	MPIO_IOCTL_FLAG_INVOLVE_DSM uint32 = 4
	MAX_ISCSI_HBANAME_LEN uint32 = 256
	MAX_ISCSI_NAME_LEN uint32 = 223
	MAX_ISCSI_ALIAS_LEN uint32 = 255
	MAX_ISCSI_PORTAL_NAME_LEN uint32 = 256
	MAX_ISCSI_PORTAL_ALIAS_LEN uint32 = 256
	MAX_ISCSI_TEXT_ADDRESS_LEN uint32 = 256
	MAX_ISCSI_PORTAL_ADDRESS_LEN uint32 = 256
	MAX_ISCSI_DISCOVERY_DOMAIN_LEN uint32 = 256
	MAX_RADIUS_ADDRESS_LEN uint32 = 41
	ID_IPV4_ADDR int32 = 1
	ID_FQDN int32 = 2
	ID_USER_FQDN int32 = 3
	ID_IPV6_ADDR int32 = 5
	ISCSI_LOGIN_FLAG_REQUIRE_IPSEC uint32 = 1
	ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED uint32 = 2
	ISCSI_LOGIN_FLAG_RESERVED1 uint32 = 4
	ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING uint32 = 8
	ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE uint32 = 16
	ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION uint32 = 32
	ISCSI_LOGIN_OPTIONS_VERSION uint32 = 0
	ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET uint32 = 2
	ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION uint32 = 4
)
#define global IOCTL_SCSI_BASE                                  4
#define global ScsiRawInterfaceGuid                             "{53F56309-B6BF-11D0-94F2-00A0C91EFB8B}"
#define global WmiScsiAddressGuid                               "{53F5630F-B6BF-11D0-94F2-00A0C91EFB8B}"
#define global FILE_DEVICE_SCSI                                 27
#define global DD_SCSI_DEVICE_NAME                              "\Device\ScsiPort"
#define global IOCTL_SCSI_PASS_THROUGH                          315396
#define global IOCTL_SCSI_MINIPORT                              315400
#define global IOCTL_SCSI_GET_INQUIRY_DATA                      266252
#define global IOCTL_SCSI_GET_CAPABILITIES                      266256
#define global IOCTL_SCSI_PASS_THROUGH_DIRECT                   315412
#define global IOCTL_SCSI_GET_ADDRESS                           266264
#define global IOCTL_SCSI_RESCAN_BUS                            266268
#define global IOCTL_SCSI_GET_DUMP_POINTERS                     266272
#define global IOCTL_SCSI_FREE_DUMP_POINTERS                    266276
#define global IOCTL_IDE_PASS_THROUGH                           315432
#define global IOCTL_ATA_PASS_THROUGH                           315436
#define global IOCTL_ATA_PASS_THROUGH_DIRECT                    315440
#define global IOCTL_ATA_MINIPORT                               315444
#define global IOCTL_MINIPORT_PROCESS_SERVICE_IRP               315448
#define global IOCTL_MPIO_PASS_THROUGH_PATH                     315452
#define global IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT              315456
#define global IOCTL_SCSI_PASS_THROUGH_EX                       315460
#define global IOCTL_SCSI_PASS_THROUGH_DIRECT_EX                315464
#define global IOCTL_MPIO_PASS_THROUGH_PATH_EX                  315468
#define global IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX           315472
#define global ATA_FLAGS_DRDY_REQUIRED                          1
#define global ATA_FLAGS_DATA_IN                                2
#define global ATA_FLAGS_DATA_OUT                               4
#define global ATA_FLAGS_48BIT_COMMAND                          8
#define global ATA_FLAGS_USE_DMA                                16
#define global ATA_FLAGS_NO_MULTIPLE                            32
#define global IOCTL_MINIPORT_SIGNATURE_SCSIDISK                "SCSIDISK"
#define global IOCTL_MINIPORT_SIGNATURE_HYBRDISK                "HYBRDISK"
#define global IOCTL_MINIPORT_SIGNATURE_DSM_NOTIFICATION        "MPDSM   "
#define global IOCTL_MINIPORT_SIGNATURE_DSM_GENERAL             "MPDSMGEN"
#define global IOCTL_MINIPORT_SIGNATURE_FIRMWARE                "FIRMWARE"
#define global IOCTL_MINIPORT_SIGNATURE_QUERY_PROTOCOL          "PROTOCOL"
#define global IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL            "SETPROTO"
#define global IOCTL_MINIPORT_SIGNATURE_QUERY_TEMPERATURE       "TEMPERAT"
#define global IOCTL_MINIPORT_SIGNATURE_SET_TEMPERATURE_THRESHOLD "SETTEMPT"
#define global IOCTL_MINIPORT_SIGNATURE_QUERY_PHYSICAL_TOPOLOGY "TOPOLOGY"
#define global IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO          "ENDURINF"
#define global NRB_FUNCTION_NVCACHE_INFO                        236
#define global NRB_FUNCTION_SPINDLE_STATUS                      229
#define global NRB_FUNCTION_NVCACHE_POWER_MODE_SET              0
#define global NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN           1
#define global NRB_FUNCTION_FLUSH_NVCACHE                       20
#define global NRB_FUNCTION_QUERY_PINNED_SET                    18
#define global NRB_FUNCTION_QUERY_CACHE_MISS                    19
#define global NRB_FUNCTION_ADD_LBAS_PINNED_SET                 16
#define global NRB_FUNCTION_REMOVE_LBAS_PINNED_SET              17
#define global NRB_FUNCTION_QUERY_ASCENDER_STATUS               208
#define global NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS            209
#define global NRB_FUNCTION_PASS_HINT_PAYLOAD                   224
#define global NRB_FUNCTION_NVSEPARATED_INFO                    192
#define global NRB_FUNCTION_NVSEPARATED_FLUSH                   193
#define global NRB_FUNCTION_NVSEPARATED_WB_DISABLE              194
#define global NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT       195
#define global NRB_SUCCESS                                      0
#define global NRB_ILLEGAL_REQUEST                              1
#define global NRB_INVALID_PARAMETER                            2
#define global NRB_INPUT_DATA_OVERRUN                           3
#define global NRB_INPUT_DATA_UNDERRUN                          4
#define global NRB_OUTPUT_DATA_OVERRUN                          5
#define global NRB_OUTPUT_DATA_UNDERRUN                         6
#define global NV_SEP_CACHE_PARAMETER_VERSION_1                 1
#define global NV_SEP_CACHE_PARAMETER_VERSION                   1
#define global STORAGE_DIAGNOSTIC_STATUS_SUCCESS                0
#define global STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL       1
#define global STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION    2
#define global STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER      3
#define global STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE      4
#define global STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE    5
#define global STORAGE_DIAGNOSTIC_STATUS_MORE_DATA              6
#define global MINIPORT_DSM_NOTIFICATION_VERSION_1              1
#define global MINIPORT_DSM_NOTIFICATION_VERSION                1
#define global MINIPORT_DSM_PROFILE_UNKNOWN                     0
#define global MINIPORT_DSM_PROFILE_PAGE_FILE                   1
#define global MINIPORT_DSM_PROFILE_HIBERNATION_FILE            2
#define global MINIPORT_DSM_PROFILE_CRASHDUMP_FILE              3
#define global MINIPORT_DSM_NOTIFY_FLAG_BEGIN                   1
#define global MINIPORT_DSM_NOTIFY_FLAG_END                     2
#define global HYBRID_FUNCTION_GET_INFO                         1
#define global HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM           16
#define global HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM            17
#define global HYBRID_FUNCTION_SET_DIRTY_THRESHOLD              18
#define global HYBRID_FUNCTION_DEMOTE_BY_SIZE                   19
#define global HYBRID_STATUS_SUCCESS                            0
#define global HYBRID_STATUS_ILLEGAL_REQUEST                    1
#define global HYBRID_STATUS_INVALID_PARAMETER                  2
#define global HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL            3
#define global HYBRID_STATUS_ENABLE_REFCOUNT_HOLD               16
#define global HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION           1
#define global HYBRID_REQUEST_INFO_STRUCTURE_VERSION            1
#define global FIRMWARE_FUNCTION_GET_INFO                       1
#define global FIRMWARE_FUNCTION_DOWNLOAD                       2
#define global FIRMWARE_FUNCTION_ACTIVATE                       3
#define global FIRMWARE_STATUS_SUCCESS                          0
#define global FIRMWARE_STATUS_ERROR                            1
#define global FIRMWARE_STATUS_ILLEGAL_REQUEST                  2
#define global FIRMWARE_STATUS_INVALID_PARAMETER                3
#define global FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG             4
#define global FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL          5
#define global FIRMWARE_STATUS_INVALID_SLOT                     6
#define global FIRMWARE_STATUS_INVALID_IMAGE                    7
#define global FIRMWARE_STATUS_CONTROLLER_ERROR                 16
#define global FIRMWARE_STATUS_POWER_CYCLE_REQUIRED             32
#define global FIRMWARE_STATUS_DEVICE_ERROR                     64
#define global FIRMWARE_STATUS_INTERFACE_CRC_ERROR              128
#define global FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR         129
#define global FIRMWARE_STATUS_MEDIA_CHANGE                     130
#define global FIRMWARE_STATUS_ID_NOT_FOUND                     131
#define global FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST             132
#define global FIRMWARE_STATUS_COMMAND_ABORT                    133
#define global FIRMWARE_STATUS_END_OF_MEDIA                     134
#define global FIRMWARE_STATUS_ILLEGAL_LENGTH                   135
#define global FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION         1
#define global FIRMWARE_REQUEST_FLAG_CONTROLLER                 1
#define global FIRMWARE_REQUEST_FLAG_LAST_SEGMENT               2
#define global FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT              4
#define global FIRMWARE_REQUEST_FLAG_SWITCH_TO_FIRMWARE_WITHOUT_RESET 268435456
#define global FIRMWARE_REQUEST_FLAG_REPLACE_AND_SWITCH_UPON_RESET 536870912
#define global FIRMWARE_REQUEST_FLAG_REPLACE_EXISTING_IMAGE     1073741824
#define global FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE 2147483648
#define global STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION          1
#define global STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2       2
#define global STORAGE_FIRMWARE_INFO_INVALID_SLOT               255
#define global STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH    16
#define global STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION      1
#define global STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2   2
#define global STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION      1
#define global DUMP_POINTERS_VERSION_1                          1
#define global DUMP_POINTERS_VERSION_2                          2
#define global DUMP_POINTERS_VERSION_3                          3
#define global DUMP_POINTERS_VERSION_4                          4
#define global DUMP_DRIVER_NAME_LENGTH                          15
#define global DUMP_EX_FLAG_SUPPORT_64BITMEMORY                 1
#define global DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY                2
#define global DUMP_EX_FLAG_RESUME_SUPPORT                      4
#define global DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT            8
#define global SCSI_IOCTL_DATA_OUT                              0
#define global SCSI_IOCTL_DATA_IN                               1
#define global SCSI_IOCTL_DATA_UNSPECIFIED                      2
#define global SCSI_IOCTL_DATA_BIDIRECTIONAL                    3
#define global MPIO_IOCTL_FLAG_USE_PATHID                       1
#define global MPIO_IOCTL_FLAG_USE_SCSIADDRESS                  2
#define global MPIO_IOCTL_FLAG_INVOLVE_DSM                      4
#define global MAX_ISCSI_HBANAME_LEN                            256
#define global MAX_ISCSI_NAME_LEN                               223
#define global MAX_ISCSI_ALIAS_LEN                              255
#define global MAX_ISCSI_PORTAL_NAME_LEN                        256
#define global MAX_ISCSI_PORTAL_ALIAS_LEN                       256
#define global MAX_ISCSI_TEXT_ADDRESS_LEN                       256
#define global MAX_ISCSI_PORTAL_ADDRESS_LEN                     256
#define global MAX_ISCSI_DISCOVERY_DOMAIN_LEN                   256
#define global MAX_RADIUS_ADDRESS_LEN                           41
#define global ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERRED        "0x00000040"
#define global ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERRED     "0x00000020"
#define global ISCSI_SECURITY_FLAG_PFS_ENABLED                  "0x00000010"
#define global ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLED      "0x00000008"
#define global ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLED            "0x00000004"
#define global ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLED            "0x00000002"
#define global ISCSI_SECURITY_FLAG_VALID                        "0x00000001"
#define global ISCSI_LOGIN_OPTIONS_HEADER_DIGEST                "0x00000001"
#define global ISCSI_LOGIN_OPTIONS_DATA_DIGEST                  "0x00000002"
#define global ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS          "0x00000004"
#define global ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT          "0x00000008"
#define global ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN        "0x00000010"
#define global ISCSI_LOGIN_OPTIONS_USERNAME                     "0x00000020"
#define global ISCSI_LOGIN_OPTIONS_PASSWORD                     "0x00000040"
#define global ISCSI_LOGIN_OPTIONS_AUTH_TYPE                    "0x00000080"
#define global ID_IPV4_ADDR                                     1
#define global ID_FQDN                                          2
#define global ID_USER_FQDN                                     3
#define global ID_IPV6_ADDR                                     5
#define global ISCSI_LOGIN_FLAG_REQUIRE_IPSEC                   1
#define global ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED               2
#define global ISCSI_LOGIN_FLAG_RESERVED1                       4
#define global ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING            8
#define global ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE             16
#define global ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION         32
#define global ISCSI_LOGIN_OPTIONS_VERSION                      0
#define global ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET             2
#define global ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION       4