FSCTL_OFFLOAD_READ_OUTPUT結構 (ntifs.h)
FSCTL_OFFLOAD_READ_OUTPUT 結構包含 FSCTL_OFFLOAD_READ 控件程式代碼要求的輸出。
語法
typedef struct _FSCTL_OFFLOAD_READ_OUTPUT {
ULONG Size;
ULONG Flags;
ULONGLONG TransferLength;
UCHAR Token[512];
} FSCTL_OFFLOAD_READ_OUTPUT, *PFSCTL_OFFLOAD_READ_OUTPUT;
成員
Size
這個結構的大小。 將此成員設定為 sizeof(FSCTL_OFFLOAD_READ_OUTPUT)。
Flags
結果旗標。 此值是這些值的位 OR 組合:
TransferLength
Token 所表示之資料的長度,以位元組為單位,。
Token[512]
位元組陣列,包含標記結構,STORAGE_OFFLOAD_TOKEN,表示 FSCTL_OFFLOAD_READ_INPUT中所指定範圍內的檔案資料。 卸除作業之間必須保持未修改 Token 的內容。
言論
如果 FSCTL_OFFLOAD_READ 作業成功,記憶體裝置的複製提供者會在 FSCTL_OFFLOAD_READ_OUTPUT中傳回唯一的令牌值,識別檔案數據讀取的部分。
複製提供者會在 FSCTL_OFFLOAD_READ_INPUT 結構的 TokenTimeToLive 成員中保留讀取的數據。
Token 代表檔案的連續區域,從 FileOffset 中要求的位移開始,FSCTL_OFFLOAD_READ_INPUT的成員。 產生的複製長度 TransferLength,可能小於原本在 CopyLength 成員中指定 FSCTL_OFFLOAD_READ_INPUT的成員。 較小的值表示 Token 能夠以邏輯方式表示比要求的數據少。
如果傳輸的數據少於要求,則讀取作業可能會藉由執行另一個 FSCTL_OFFLOAD_READ 要求來完成。 下一個要求會使用 FSCTL_OFFLOAD_READ_INPUT 結構中 FileOffset 成員,TransferLength 中的值,以及先前長度的調整讀取長度減去 transferLength 中的值。 此外,您也可以使用 ZwReadFile 例程,透過非卸除的讀取方法來完成不完整的讀取作業。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8。 |
標頭 | ntifs.h (include Ntifs.h, Fltkernel.h) |