ntddscsi.h 標頭
記憶體會使用此標頭。 如需詳細資訊,請參閱:
ntddscsi.h 包含下列程式設計介面:
IOCTLs
IOCTL_ATA_PASS_THROUGH 允許應用程式將幾乎任何 ATA 命令傳送至目標裝置,但有下列限制:_If裝置目標類型的類別驅動程式存在,應用程式必須將要求傳送至類別驅動程式。 |
IOCTL_ATA_PASS_THROUGH_DIRECT 瞭解IOCTL_ATA_PASS_THROUGH_DIRECT如何讓應用程式將幾乎任何 ATA 命令傳送至目標裝置。 |
IOCTL_MINIPORT_PROCESS_SERVICE_IRP 使用者模式應用程式或內核模式驅動程式會使用此 IOCTL,在虛擬迷你埠發生相關狀況時需要通知。 |
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO是系統定義的簽章,與IOCTL_SCSI_MINIPORT控制程式代碼搭配使用,以要求小型埠傳回目標裝置的耐力數據。 |
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL是與IOCTL_SCSI_MINIPORT控制程式代碼搭配使用的簽章,以將通訊協定特定數據傳送至迷你埠。 |
IOCTL_MPIO_PASS_THROUGH_PATH 此 I/O 控制程式碼可讓應用程式或核心驅動程式將 SCSI 命令傳送至指定的實際 LUN。 |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT 瞭解此 I/O 控制項程式代碼如何允許應用程式或核心驅動程式將 SCSI 命令傳送至指定的實際 LUN。 |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX控件程式代碼要求是IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT要求的延伸版本。 此要求支援雙向數據傳輸,並允許命令數據區塊 (CDB) > 16 個字節。 |
IOCTL_MPIO_PASS_THROUGH_PATH_EX IOCTL_MPIO_PASS_THROUGH_PATH_EX控件程式代碼要求是IOCTL_MPIO_PASS_THROUGH_PATH要求的延伸版本。 此要求支援雙向數據傳輸,並允許命令數據區塊 (CDB) > 16 個字節。 |
IOCTL_SCSI_GET_ADDRESS 傳回地址資訊,例如目標標識碼 (TID) 和特定 SCSI 目標的邏輯單元編號 (LUN)。 |
IOCTL_SCSI_GET_CAPABILITIES 傳回基礎 SCSI HBA 的功能和限制。 |
IOCTL_SCSI_GET_INQUIRY_DATA 傳回指定 SCSI 主機總線適配卡 (HBA) 上所有裝置的 SCSI 查詢數據。 |
IOCTL_SCSI_MINIPORT 將特殊控件函式傳送至 HBA 特定的迷你埠驅動程式。 |
IOCTL_SCSI_MINIPORT_DIAGNOSTIC IOCTL_SCSI_MINIPORT_DIAGNOSTIC控件程式代碼可用來對Miniport執行診斷要求。 |
IOCTL_SCSI_MINIPORT_HYBRID IOCTL_SCSI_MINIPORT_HYBRID控件程式代碼會將混合式磁碟控制要求傳送至 HBA 特定的迷你埠驅動程式。 |
IOCTL_SCSI_MINIPORT_NVCACHE 此處定義的 NV 快取管理作業,可以使用 DeviceIoControl 和IOCTL_SCSI_MINIPORT控制程式代碼,以系統管理員許可權執行的使用者模式應用程式程式代碼來叫用。 |
IOCTL_SCSI_PASS_THROUGH 允許應用程式將幾乎任何 SCSI 命令傳送至目標裝置,但有下列限制:不允許使用 COPY 等多重目標命令。不支援雙向數據傳輸作業。如果裝置目標類型的類別驅動程式存在,則必須將要求傳送至該類別驅動程式。 因此,只有在連線到該 LU 的裝置類型沒有類別驅動程式時,應用程式才能將此要求直接傳送至目標邏輯單元的系統埠驅動程式。 系統埠驅動程式不會檢查裝置是否已由類別驅動程式宣告,再處理傳遞要求。 因此,如果應用程式略過宣告裝置的類別驅動程式,並將該裝置的傳遞要求直接傳送至埠驅動程式,則類別驅動程式與應用程式之間可能會發生裝置控制衝突。 如果傳遞要求傳送至配接器裝置物件,而且它源自使用者模式,並以類別驅動程式所宣告的 LU 為目標,Storport 會以STATUS_INVALID_DEVICE_REQUEST失敗要求。 如果要求傳送至 LU 裝置物件、源自核心模式,或以未認領的 LU 為目標,則會傳遞至迷你埠驅動程式。如果 CDB 可能需要基礎迷你埠驅動程式直接存取記憶體,則無法使用此要求。 如果呼叫端的CDB可能需要直接存取記憶體,請改用 IOCTL_SCSI_PASS_THROUGH_DIRECT。 應用程式不得嘗試以異步方式傳送傳遞要求。 所有傳遞要求都必須是同步的。 應用程式不需要系統管理許可權,才能將傳遞要求傳送至裝置,但必須具有裝置的讀取/寫入許可權。 呼叫的應用程式會建立 SCSI 命令描述元區塊,如果發生 CHECK CONDITION,可以包含要求感知數據的要求。 IOCTL_SCSI_PASS_THROUGH是緩衝的裝置控制要求。 若要略過系統記憶體中的緩衝處理,呼叫端應該使用IOCTL_SCSI_PASS_THROUGH_DIRECT。 處理IOCTL_SCSI_PASS_THROUGH_DIRECT要求時,系統會鎖定用戶記憶體中的緩衝區,而裝置會直接存取此記憶體。 此要求通常用於傳輸少量的數據(<16K)。應用程式可以透過IRP_MJ_DEVICE_CONTROL要求傳送此要求。記憶體類別驅動程式會將次要 IRP 編號設定為 IRP_MN_SCSI_CLASS,表示記憶體類別驅動程式已處理要求。 |
IOCTL_SCSI_PASS_THROUGH_DIRECT 允許應用程式將幾乎任何 SCSI 命令傳送至目標裝置,但有下列限制:不允許使用 COPY 等多重目標命令。不支援雙向數據傳輸作業。如果裝置目標類型的類別驅動程式存在,則必須將要求傳送至該類別驅動程式。 因此,只有在連線至該 LU 的裝置類型沒有類別驅動程式時,應用程式才能將這個要求直接傳送至目標邏輯單元的系統埠驅動程式。如果輸入CDB可能需要基礎迷你埠驅動程式直接存取記憶體,則必須提出此要求。呼叫的應用程式會建立 SCSI 命令描述元區塊,如果發生 CHECK CONDITION,可以包含要求感知數據的要求。 如果CDB要求數據傳輸作業,呼叫端必須設定配接器裝置對齊緩衝區,迷你埠驅動程式可以從該緩衝區或小型埠驅動程式直接傳輸數據。 此要求通常用於傳輸大量數據(>16K)。應用程式可以透過IRP_MJ_DEVICE_CONTROL要求傳送此要求。 記憶體類別驅動程式會將次要 IRP 編號設定為 IRP_MN_SCSI_CLASS,表示記憶體類別驅動程式已處理要求。 |
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX IOCTL_SCSI_PASS_THROUGH_DIRECT_EX控件程式代碼要求是IOCTL_SCSI_PASS_THROUGH_DIRECT要求的延伸版本。 此要求支援雙向數據傳輸,並允許命令數據區塊 (CDB) > 16 個字節。 |
IOCTL_SCSI_PASS_THROUGH_EX IOCTL_SCSI_PASS_THROUGH_EX控件程式代碼要求是IOCTL_SCSI_PASS_THROUGH要求的擴充版本。 此要求支援雙向數據傳輸,並允許命令數據區塊 (CDB) > 16 個字節。 |
IOCTL_SCSI_RESCAN_BUS 在公共汽車上重新掃描 LUN。 |
結構
ATA_PASS_THROUGH_DIRECT ATA_PASS_THROUGH_DIRECT 結構會與IOCTL_ATA_PASS_THROUGH_DIRECT要求搭配使用,以指示埠驅動程式將內嵌 ATA 命令傳送至目標裝置。 |
ATA_PASS_THROUGH_EX ATA_PASS_THROUGH_EX 結構會與IOCTL_ATA_PASS_THROUGH要求搭配使用,以指示埠驅動程式將內嵌 ATA 命令傳送至目標裝置。 |
HYBRID_INFORMATION HYBRID_INFORMATION結構包含混合式磁碟功能資訊。 |
IO_SCSI_CAPABILITIES IO_SCSI_CAPABILITIES 結構會與IOCTL_SCSI_GET_CAPABILITIES要求搭配使用,以擷取基礎 SCSI 主機適配卡的功能和限制。注意 未來可能會改變或無法使用 SCSI 埠驅動程式和 SCSI 迷你埠驅動程式模型。 相反地,我們建議使用 Storport 驅動程式和 Storport 迷你埠驅動程式模型。 |
MPIO_PASS_THROUGH_PATH MPIO_PASS_THROUGH_PATH 結構會與IOCTL_MPIO_PASS_THROUGH_PATH要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
MPIO_PASS_THROUGH_PATH_DIRECT MPIO_PASS_THROUGH_PATH_DIRECT 結構會與IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
MPIO_PASS_THROUGH_PATH_DIRECT_EX MPIO_PASS_THROUGH_PATH_DIRECT_EX 結構會與IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
MPIO_PASS_THROUGH_PATH_EX MPIO_PASS_THROUGH_PATH_EX 結構會與IOCTL_MPIO_PASS_THROUGH_PATH_EX要求搭配使用,以指示埠驅動程式將內嵌的SCSI命令傳送至目標裝置。 |
NTSCSI_UNICODE_STRING 記憶體埠驅動程式可以使用 NTSCSI_UNICODE_STRING 結構來定義 Unicode 字串。 |
NV_FEATURE_PARAMETER NV_FEATURE_PARAMETER 結構會與IOCTL_SCSI_MINIPORT_NVCACHE要求搭配使用,以從裝置取得 NV Cache Manager 功能支持資訊。 |
NVCACHE_REQUEST_BLOCK NVCACHE_REQUEST_BLOCK結構會與IOCTL_SCSI_MINIPORT要求搭配使用,以管理混合式硬碟 (H-HDD) 裝置(例如,Microsoft ReadyDrive 技術)。 |
SCSI_ADAPTER_BUS_INFO SCSI_ADAPTER_BUS_INFO 結構會與IOCTL_SCSI_GET_INQUIRY_DATA要求搭配使用,以擷取指定 SCSI 總線上所有裝置的 SCSI 查詢數據。 |
SCSI_ADDRESS SCSI_ADDRESS 結構會與IOCTL_SCSI_GET_ADDRESS要求搭配使用,以擷取地址資訊,例如目標標識碼 (TID) 和特定 SCSI 目標的邏輯單元編號 (LUN)。 |
SCSI_BUS_DATA SCSI_BUS_DATA 結構會與IOCTL_SCSI_GET_INQUIRY_DATA要求和SCSI_ADAPTER_BUS_INFO結構搭配使用,以擷取指定 SCSI 總線上所有裝置的 SCSI 查詢數據。 |
SCSI_INQUIRY_DATA SCSI_INQUIRY_DATA 結構會與IOCTL_SCSI_GET_INQUIRY_DATA要求搭配使用,以擷取指定 SCSI 總線上所有裝置的 SCSI 查詢數據。 |
SCSI_PASS_THROUGH SCSI_PASS_THROUGH 結構會與IOCTL_SCSI_PASS_THROUGH要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
SCSI_PASS_THROUGH_DIRECT SCSI_PASS_THROUGH_DIRECT 結構會與IOCTL_SCSI_PASS_THROUGH_DIRECT要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
SCSI_PASS_THROUGH_DIRECT_EX SCSI_PASS_THROUGH_DIRECT_EX 結構會與IOCTL_SCSI_PASS_THROUGH_DIRECT_EX要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
SCSI_PASS_THROUGH_EX SCSI_PASS_THROUGH_EX 結構會與IOCTL_SCSI_PASS_THROUGH_EX要求搭配使用,以指示埠驅動程式將內嵌的 SCSI 命令傳送至目標裝置。 |
SRB_IO_CONTROL SRB_IO_CONTROL結構 |
STORAGE_DIAGNOSTIC_MP_REQUEST 描述 Miniport 的診斷要求。 STORAGE_DIAGNOSTIC_MP_REQUEST 結構是在IOCTL_SCSI_MINIPORT_DIAGNOSTIC要求的輸入/輸出緩衝區中提供。 |
STORAGE_ENDURANCE_DATA_DESCRIPTOR 迷你埠會使用 STORAGE_ENDURANCE_DATA_DESCRIPTOR,將裝置的耐力資訊回報給記憶體埠驅動程式。 |
STORAGE_ENDURANCE_INFO 迷你埠會使用 STORAGE_ENDURANCE_INFO 結構來報告裝置的耐力資訊。 |
STORAGE_FIRMWARE_SLOT_INFO 瞭解STORAGE_FIRMWARE_SLOT_INFO結構。 |
枚舉
MP_STORAGE_DIAGNOSTIC_LEVEL MP_STORAGE_DIAGNOSTIC_LEVEL列舉可讓呼叫端控制提供者應該傳回的數據種類。 |
MP_STORAGE_DIAGNOSTIC_TARGET_TYPE MP_STORAGE_DIAGNOSTIC_TARGET_TYPE列舉會指定記憶體診斷的目標類型。 |