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 Cache Manager 功能支持資訊。 完成此函式之後,必要的數據欄位會傳回給呼叫端。 傳回資料結構 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 快取管理員數據集數據尚未指定,請將 NV 快取管理員數據集中指定的 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) |