次の方法で共有


FSCTL_SET_EXTERNAL_BACKING 制御コード

FSCTL_SET_EXTERNAL_BACKING 制御コードは、外部バッキング プロバイダーによる Windows Image Format (WIM) ファイルや圧縮ファイルなどのファイルのバッキング ソースを設定します。 外部でバッキングされるファイルのコンテンツのソースは、ファイルが配置されたボリューム以外のボリュームである場合があります。

この操作を実行するには、次のパラメーターを指定して FltFsControlFile または ZwFsControlFile を呼び出します。

パラメーター

  • インスタンス [in]: FltFsControlFile のみ。 呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、NULL にすることはできません。

  • FileObject [in]: FltFsControlFile のみ。 バッキングが設定されているファイルのファイル ポインター オブジェクト。 このパラメーターは必須であり、NULL にすることはできません。

  • FileHandle [in]: ZwFsControlFile のみ。 バッキングが設定されているファイルのハンドル。 このパラメーターは必須であり、NULL にすることはできません。

  • FsControlCode [in]: 操作の制御コード。 この操作には FSCTL_SET_EXTERNAL_BACKING を使用します。

  • InputBuffer [in]: 入力バッファー (WOF_EXTERNAL_INFO 構造体と、その後にプロバイダー データが含まれる) へのポインター。 WIM でバックアップされたファイルの場合、WOF_EXTERNAL_INFO の後に WIM_PROVIDER_EXTERNAL_INFO 構造体が続きます。

  • InputBufferLength [in]: InputBuffer で提供されるデータのサイズ。

  • OutputBuffer [out]: なし。 NULL に設定されている。

  • OutputBufferLength [in]: 0 に設定します。

戻り値

FltFsControlFile または ZwFsControlFile は、操作が成功した場合に STATUS_SUCCESS を返します。 それ以外の場合は、適切な NTSTATUS 値が返されます。

解説

追加されたデータ ソースのバッキング プロバイダーが WIM プロバイダーである場合、入力バッファーには、WOF_EXTERNAL_INFO 構造体と、その後に WIM_PROVIDER_EXTERNAL_INFO 構造体が含められます。 この場合の InputBufferLengthsizeof(WOF_EXTERNAL_INFO) + sizeof(WIM_PROVIDER_EXTERNAL_INFO) になります。

ファイルを個別に圧縮すると、実行可能ファイルなど変更されないデータに適した圧縮を適用できます。 これらを書き込み用に開くと、ファイルは透過的に展開されます。 個別に圧縮されたファイルを指定するために、入力バッファーには、WOF_EXTERNAL_INFO 構造体と、その後に FILE_PROVIDER_EXTERNAL_INFO_V1 構造体が含められます。 この場合の InputBufferLengthsizeof(WOF_EXTERNAL_INFO) + sizeof(FILE_PROVIDER_EXTERNAL_INFO_V1) になります。 Windows 10 以降では、個々の圧縮ファイルを使用できます。

要件

要件タイプ 要件
サポートされている最小のクライアント Windows 8.1 Update
ヘッダー Ntifs.h (Ntifs.h または Fltkernel.h を含む)

関連項目

FltFsControlFile

ZwFsControlFile

FSCTL_DELETE_EXTERNAL_BACKING

FSCTL_GET_EXTERNAL_BACKING

WIM_PROVIDER_EXTERNAL_INFO

WOF_EXTERNAL_INFO