NVCACHE_REQUEST_BLOCK結構 (ntddscsi.h)
NVCACHE_REQUEST_BLOCK結構會與IOCTL_SCSI_MINIPORT要求搭配使用,以管理混合式硬碟 (H-HDD) (裝置,例如 Microsoft ReadyDrive 技術) 。 本主題定義對 NV 快取管理員進行呼叫之輸入數據和輸出數據的一般結構。 呼叫端應該先填入所有必要的字段,再呼叫 DeviceIoControl 或 IoBuildDeviceIoControlRequest。 迷你埠驅動程序必須在要求函式完成且傳回之前執行相同的動作。
語法
typedef struct _NVCACHE_REQUEST_BLOCK {
ULONG NRBSize;
USHORT Function;
ULONG NRBFlags;
ULONG NRBStatus;
ULONG Count;
ULONGLONG LBA;
ULONG DataBufSize;
ULONG NVCacheStatus;
ULONG NVCacheSubStatus;
} NVCACHE_REQUEST_BLOCK, *PNVCACHE_REQUEST_BLOCK;
成員
NRBSize
sizeof (NVCACHE_REQUEST_BLOCK) 。
Function
指定要執行的作業,它可以是下列其中一個值:
值 | 意義 |
---|---|
NRB_FUNCTION_NVCACHE_INFO | 從裝置取得 NV 快取管理員功能支持資訊。 成功完成此函式時,必要的數據欄位會傳回給呼叫端。 傳回數據結構 NV_FEATURE_PARAMETER。 |
NRB_FUNCTION_SPINDLE_STATUS | 判斷裝置目前是否正在啟動或向下旋轉。 如果是 ATA 裝置,需要檢查電源模式命令,才能取得裝置的軸狀態。 若為 SCSI 裝置,可以使用 Mode Sense 命令來查詢裝置目前的電源模式。 |
NRB_FUNCTION_NVCACHE_POWER_MODE_SET | 開啟 NV 快取管理員電源模式。 |
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET | 關閉 NV 快取管理員電源模式。 |
NRB_FUNCTION_FLUSH_NVCACHE | 排清目前釘選在 NV 快取記憶體中的數據,讓必要的 NV 快取記憶體空間可供使用。 |
NRB_FUNCTION_QUERY_PINNED_SET | 取得目前在 NV 快取管理員釘選集中的邏輯區塊位址 (LBA) 範圍。 |
NRB_FUNCTION_QUERY_CACHE_MISS | 要求裝置在單一 512 位元組區塊中回報 LBA 範圍內的 NV 快取遺漏。 |
NRB_FUNCTION_ADD_LBAS_PINNED_SET | 如果 NVA 快取管理員數據集數據尚未指定,請將 NVA 快取管理員數據集中指定的 LBA 新增至 NV 快取管理員釘選集。 |
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET | 從 NV 快取固定集中移除 NV 快取集數據中指定的 LBA。 |
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS | 保留供未來使用。 |
NRB_FUNCTION_PASS_HINT_PAYLOAD | 將 IO 提示傳遞至 SATA 裝置。 |
NRBFlags
保留供未來使用。
NRBStatus
指出驅動程式的 NV Cache Manager 函式要求狀態。 這個值可以是下列其中一個值:
值 | 意義 |
---|---|
NRB_SUCCESS | 沒有錯誤。 |
NRB_ILLEGAL_REQUEST | 埠驅動程序偵測到的不合法要求。 |
NRB_INVALID_PARAMETER | 傳遞至埠驅動程序的參數無效。 |
NRB_INPUT_DATA_OVERRUN | 提供給埠驅動程序的數據太多。 |
NRB_INPUT_DATA_UNDERRUN | 提供給埠驅動程序的數據不足。 |
NRB_OUTPUT_DATA_OVERRUN | 從埠驅動程式傳回太多數據。 |
NRB_OUTPUT_DATA_UNDERRUN | 從埠驅動程式傳回的數據不足。 |
Count
要與指定函式一起傳輸的512位元組區塊數目。
LBA
啟動指定函式之裝置的 LBA。
DataBufSize
數據緩衝區的大小,以位元組為單位。
NVCacheStatus
從裝置傳回的狀態。 如果是 ATA 裝置,此值是其工作檔案中狀態緩存器的內容。 對於 SCSI 裝置,此值是從裝置傳回的 Sense Code。
NVCacheSubStatus
從裝置傳回的錯誤碼。 如果是 ATA 裝置,此值是其工作檔案中錯誤快取器的內容。 針對 SCSI 裝置,此值是從裝置傳回的 Sense 金鑰。
備註
如需函數行為的詳細資訊,請參閱 ATA8-ACS 規格的第 7.20 節。
規格需求
需求 | 值 |
---|---|
標頭 | ntddscsi.h (包含 Ntddscsi.h) |