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中所指定範圍內的檔案數據。 令牌的內容在卸除作業之間必須保持未修改。
備註
如果 FSCTL_OFFLOAD_READ 作業成功,則記憶體裝置的複製提供者會在 FSCTL_OFFLOAD_READ_OUTPUT中傳回唯一的令牌值,識別讀取的檔案數據部分。
複製提供者會在 FSCTL_OFFLOAD_READ_INPUT 結構的 TokenTimeToLive 成員中保留讀取的數據。
Token 代表檔案的連續區域,從 FSCTL_OFFLOAD_READ_INPUT的 FileOffset 成員中要求的位移開始。 產生的複製長度 TransferLength 可能小於原本在 copyLength 成員中指定的 FSCTL_OFFLOAD_READ_INPUT。 較小的值表示 Token 能夠以邏輯方式表示比要求的數據少。
如果傳輸的數據少於所要求的數據,則執行另一個 FSCTL_OFFLOAD_READ 要求即可完成讀取作業。 下一個要求會使用 FSCTL_OFFLOAD_READ_INPUT 結構中更新的 FileOffset 成員與 TransferLength 中的值,以及先前長度的調整讀取長度減去 TransferLength 中的值。 此外,您也可以使用 ZwReadFile 例程,透過非卸除的讀取方法來完成不完整的讀取作業。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
標頭 | ntifs.h (包括 Ntifs.h、Fltkernel.h) |