NVCACHE_REQUEST_BLOCK結構 (ntddscsi.h)

NVCACHE_REQUEST_BLOCK 結構會與 IOCTL_SCSI_MINIPORT 要求搭配使用,以管理混合式硬碟 (H-HDD) 裝置(例如,Microsoft ReadyDrive 技術)。 本主題定義對 NV 快取管理員進行呼叫的輸入數據和輸出數據的一般結構。 呼叫者應該先填入所有必要的字段,再呼叫 DeviceIoControlIoBuildDeviceIoControlRequest。 迷你埠驅動程序必須在要求函式完成之後,以及在傳回之前執行相同的動作。

語法

C++
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)

另請參閱

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE