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]
FSCTL_OFFLOAD_READ_INPUTで指定された範囲内のファイル データを表すトークン構造をSTORAGE_OFFLOAD_TOKEN含むバイト配列。 トークンの内容は、オフロード操作間で変更されていない状態を維持する必要があります。
注釈
FSCTL_OFFLOAD_READ操作が成功した場合、ストレージ デバイスのコピー プロバイダーは、FSCTL_OFFLOAD_READ_OUTPUTで、読み取られたファイル データの部分を識別する一意のトークン値を返します。
コピー プロバイダーは、FSCTL_OFFLOAD_READ_INPUT構造体の TokenTimeToLive メンバー内で読み取られたデータを保持します。
Token は、FSCTL_OFFLOAD_READ_INPUT の FileOffset メンバーの要求されたオフセットで始まる、ファイルの連続した領域 を表します。 コピーされた結果の長さ TransferLength は、FSCTL_OFFLOAD_READ_INPUTの CopyLength メンバーで最初に指定されたものよりも小さい場合があります。 値が小さい場合は、 トークン が要求されたデータよりも少ないデータを論理的に表すことができたことを示します。
要求されたデータよりも少ないデータが転送された場合は、別のFSCTL_OFFLOAD_READ要求を実行して読み取り操作 を 完了できます。 次の要求では、FSCTL_OFFLOAD_READ_INPUT構造体で更新された FileOffset メンバーを使用し、TransferLength の値と、前の長さの調整された読み取り長から TransferLength の値を引いた値を使用します。 また、たとえば 、ZwReadFile ルーチンを使用して、オフロードされていない読み取りメソッドを使用して不完全な読み取り操作を完了することもできます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
Header | ntifs.h (Ntifs.h、Fltkernel.h を含む) |