次の方法で共有


CfGetTransferKey 関数 (cfapi.h)

CfGetTransferKeyTransferKey を返します。これは、 CfExecute API を使用してプレースホルダーへのデータの転送を開始するために必要です。

構文

HRESULT CfGetTransferKey(
  [in]  HANDLE          FileHandle,
  [out] CF_TRANSFER_KEY *TransferKey
);

パラメーター

[in] FileHandle

プレースホルダーのファイル ハンドル。

[out] TransferKey

サービスを提供するプレースホルダーへの不透明なハンドル。

戻り値

この関数が成功すると、 が返されます S_OK。 そうでない場合は、HRESULT エラー コードを返します。

注釈

この API は、 CfHydratePlaceholder を呼び出す代わりに、プレースホルダーへのデータの転送を事前に開始したい同期プロバイダーで使用できます。 CfGetTransferKey は 、フェッチ データ コールバックが返したのと同じ TransferKey を 返します。 その後、同期プロバイダーは、後続の CfExecute API の呼び出しで TransferKey を渡すことができます。 このように、データの転送は、フィルターではなく同期プロバイダーによって行われます。

同期プロバイダーには、転送キーを取得するファイルへのREAD_DATAまたはWRITE_DACアクセス権が必要です。または、HRESULT(ERROR_CLOUD_FILE_ACCESS_DENIED) でCfGetTransferKey が失敗します。

TransferKey は、取得に使用された FileHandle が開いたままである限り有効です。 同期プロバイダーは、プレースホルダー ファイルまたはフォルダーに対して目的の操作を実行するために 、TransferKeyCfExecute に渡す必要があります。 TransferKey が使用されなくなった場合は、CfReleaseTransferKey を使用して解放する必要があります。

要件

要件
サポートされている最小のクライアント Windows 10バージョン 1709 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー cfapi.h
Library CldApi.lib
[DLL] CldApi.dll

こちらもご覧ください

CfHydratePlaceholder

CfExecute

CfReleaseTransferKey