次の方法で共有


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

こちらもご覧ください

GetOverlappedResult