FSCTL_ADD_OVERLAYコントロール コードは、ボリュームの名前空間に新しい外部バッキング ソースを追加します。 このバッキング ソースには、Windows イメージ形式 (WIM) ファイルを指定できます。
この操作を実行するには、FltFsControlFile
パラメーター
インスタンス [in]: FltFsControlFile のみ。 呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、NULL にすることはできません。
FileObject: [in]: FltFsControlFile のみ。 オーバーレイが追加されるボリュームのファイル ポインター オブジェクト。 このパラメーターは必須であり、NULL にすることはできません。
FileHandle [in]: ZwFsControlFile のみ。 オーバーレイが追加されるボリュームのハンドル。 このパラメーターは必須であり、NULL にすることはできません。
FsControlCode [in]: 操作のコントロール コード。 この操作 にはFSCTL_ADD_OVERLAY を使用します。
InputBuffer [in]: WOF_EXTERNAL_INFO構造体を 含む必要がある入力バッファーへのポインター。 必要に応じて、 WOF_EXTERNAL_INFOの直後に追加のプロバイダー固有のデータが含まれます。
InputBufferLength [in]: sizeof(WOF_EXTERNAL_INFO) と追加のプロバイダー入力データのサイズに設定します。
OutputBuffer [out]: 出力バッファーへのポインター。追加操作の結果情報が格納されます。
OutputBufferLength [out]: OutputBuffer が指すバッファーのサイズ。
状態ブロック
FltFsControlFile または ZwFsControlFile は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、適切な関数は、次の NTSTATUS 値のいずれかを返す可能性があります。
| Code | 意味 |
|---|---|
| アクセス拒否 | リクエスターは管理特権を持っていません。 |
| STATUS_BUFFER_TOO_SMALL | OutputBuffer によって指され、OutputBufferLength で指定された出力バッファーの長さが小さすぎます。 |
| ステータス_内部エラー | 要求されたボリュームにアクセスできません。 |
| STATUS_INVALID_DEVICE_REQUEST | バッキング サービスが存在しないか、開始されていません。 |
注釈
追加されたバッキング ソースが Windows イメージング形式 (WIM) ファイルの場合、入力バッファーには 、WOF_EXTERNAL_INFO 構造体の後に WIM_PROVIDER_ADD_OVERLAY_INPUT 構造体が含まれます。 この場合の InputBufferLength は sizeof(WOF_EXTERNAL_INFO) + sizeof(WIM_PROVIDER_ADD_OVERLAY_INPUT) になります。 要求が完了すると、 OutputBuffer が指すデータには、WIM ファイルの新しいデータ ソース識別子である 1 つのLARGE_INTEGER値が含まれます。
他のバッキング プロバイダーは、独自の入力パラメーター構造と出力データ型を定義します。
要求事項
| 要件タイプ | 要件 |
|---|---|
| サポートされている最小のクライアント | Windows 8.1 Update |
| ヘッダ | Ntifs.h ( Ntifs.h または Fltkernel.h を含む) |