共用方式為


NVCACHE_REQUEST_BLOCK結構 (ntddscsi.h)

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

語法

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)

另請參閱

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE