WofSetFileDataLocation 関数 (wofapi.h)

物理ファイルによってバックアップされるファイルからシステム データ プロバイダーによってバックアップされるファイルにファイルを変更するために使用されます。

構文

HRESULT WofSetFileDataLocation(
  [in] HANDLE FileHandle,
  [in] ULONG  Provider,
  [in] PVOID  ExternalFileInfo,
  [in] ULONG  Length
);

パラメーター

[in] FileHandle

CreateFile または同様の API で開かれたファイルへのハンドル。

[in] Provider

このファイルをバックアップしているプロバイダーを示します。 現在定義されているプロバイダーは次のとおりです。

WOF_PROVIDER_WIM ファイルのデータを WIM ファイルから取得する必要があることを示します。 アクセス時に、データは WIM ファイルから透過的に抽出され、アプリケーションに提供されます。 ファイルの内容が変更された場合、データは透過的に展開され、この API が使用されていない場合は、ファイルは同じ物理形式に復元されます。
WOF_PROVIDER_FILE ファイルのデータを圧縮し、ファイル自体と共に格納する必要があることを示します。 アクセス時に、データは透過的に圧縮解除され、アプリケーションに提供されます。 ファイルの内容が変更された場合、データは透過的に展開され、この API が使用されていない場合は、ファイルは同じ物理形式に復元されます。 このプロバイダーにはWindows 10が必要です。

[in] ExternalFileInfo

指定したプロバイダーに固有のデータを提供します。 定義されている各プロバイダーのデータ構造は次のとおりです。

WOF_PROVIDER_WIM WIM_EXTERNAL_FILE_INFO
WOF_PROVIDER_FILE WOF_FILE_COMPRESSION_INFO

[in] Length

プロバイダー固有のデータの長さをバイト単位で指定します。 これは、上記で定義した構造体に対応している必要があります。

WOF_PROVIDER_WIM sizeof(WIM_EXTERNAL_FILE_INFO)
WOF_PROVIDER_FILE sizeof(WOF_FILE_COMPRESSION_INFO)

戻り値

この関数は、成功または失敗の理由を示す HRESULT を返します。

注釈

WOF_PROVIDER_FILEを使用すると、操作がERROR_COMPRESSION_NOT_BENEFICIALで失敗する可能性があります。 これは、データを圧縮しようとしましたが、ディスク領域が保存されていないため、ファイルが圧縮されなかったことを示します。 ほとんどのアプリケーションでは、これは成功条件として扱うことができます。

要件

要件
対象プラットフォーム Windows
ヘッダー wofapi.h
Library Wofutil.lib
[DLL] Wofutil.dll

こちらもご覧ください

FSCTL_SET_EXTERNAL_BACKING