CfHydratePlaceholder 関数 (cfapi.h)
指定したバイト範囲がプレースホルダーにディスク上に存在することを確認して、プレースホルダー ファイルをハイドレートします。 これはファイルに対してのみ有効です。
構文
HRESULT CfHydratePlaceholder(
[in] HANDLE FileHandle,
[in] LARGE_INTEGER StartingOffset,
[in] LARGE_INTEGER Length,
[in] CF_HYDRATE_FLAGS HydrateFlags,
[in, out, optional] LPOVERLAPPED Overlapped
);
パラメーター
[in] FileHandle
ハイドレートするプレースホルダー ファイルのハンドル。 属性またはアクセスなしのハンドルで十分です。
[in] StartingOffset
プレースホルダー ファイル データの開始点オフセット。
[in] Length
API が正常に完了した後、データをディスク上でローカルで使用できる必要があるプレースホルダー ファイルの長さ (バイト単位)。 の長さ CF_EOF
(-1 として定義) は、ファイルの末尾を示します。 プレースホルダーに存在しないサブ範囲の場合、プラットフォームは同期プロバイダーからデータをフェッチし、プレースホルダー内のディスクに格納します。
[in] HydrateFlags
プレースホルダーハイドレーション フラグ。 HydrateFlags はCF_HYDRATE_FLAG_NONEに設定する必要があります。
[in, out, optional] Overlapped
指定し、非同期 の FileHandle と組み合わせると、 Overlapped を使用すると、プラットフォームは CfHydratePlaceholder 呼び出しを非同期的に実行できます。 詳細については、「 解説 」を参照してください。
指定しない場合、プラットフォームは、ハンドルの作成方法に関係なく、API 呼び出しを同期的に実行します。
戻り値
この関数が成功すると、 が返されます S_OK
。 そうでない場合は、HRESULT エラー コードを返します。
注釈
呼び出し元は、ハイドレートするプレースホルダーへの READ_DATA または WRITE_DAC アクセス権を持っている必要があります。
非同期的に Overlapped を使用しているときに API から HRESULT_FROM_WIN32(ERROR_IO_PENDING) が返された場合、呼び出し元は GetOverlappedResult を使用して待機できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10、バージョン 1709 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | cfapi.h |
Library | CldApi.lib |
[DLL] | CldApi.dll |