CfSetPinState 関数 (cfapi.h)

これにより、ユーザーの意図を表すために使用されるプレースホルダーのピンの状態が設定されます。 (同期プロバイダーだけでなく) どのアプリケーションでも、この関数を呼び出すことができます。

構文

HRESULT CfSetPinState(
  [in]                HANDLE           FileHandle,
  [in]                CF_PIN_STATE     PinState,
  [in]                CF_SET_PIN_FLAGS PinFlags,
  [in, out, optional] LPOVERLAPPED     Overlapped
);

パラメーター

[in] FileHandle

プレースホルダー ファイルのハンドル。 プラットフォームは、操作を他のアクティブな要求と適切に同期します。 属性またはアクセスなしのハンドルで十分です。 呼び出し元はプレースホルダー へのREAD_DATA または WRITE_DAC アクセス権を持っている必要があります。それ以外の場合、操作は STATUS_CLOUD_FILE_ACCESS_DENIED で失敗します。

[in] PinState

プレースホルダー ファイルのピンの状態。 有効な PinState 値の一覧については、「 CF_PIN_STATE」を参照してください。

[in] PinFlags

ピンの状態フラグ。 PinFlags は、次の値に設定できます。

  • CF_PIN_FLAG_RECURSEが指定されている場合、プラットフォームは Pin 状態を FileHandle に適用し、その下にあるすべてのファイルを再帰的に適用します (FileHandle がディレクトリへのハンドルである場合にのみ関連します)。
  • CF_PIN_FLAG_RECURSE_ONLYが指定されている場合、プラットフォームは FileHandle の下にあるすべてのファイルに固定状態を再帰的に適用しますが、FileHandle 自体には適用しません。
  • CF_PIN_FLAG_RECURSE_STOP_ERRORが指定されている場合、プラットフォームは最初のエラーが発生したときに再帰を停止します。 それ以外の場合、プラットフォームはエラーをスキップし、再帰を続行します。

[in, out, optional] Overlapped

呼び出しを非同期に実行できるようにします。 詳細については、「 解説 」セクションを参照してください。

戻り値

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

注釈

指定し、非同期 の FileHandle と組み合わせると、 Overlapped を使用すると、プラットフォームは呼び出しを非同期的に実行できます。

呼び出し元は、待機するイベントで重複する構造体を初期化している必要があります。 これが HRESULT_FROM_WIN32(ERROR_IO_PENDING)を返す場合、呼び出し元は GetOverlappedResult を使用して待機できます。 指定しない場合、プラットフォームは、ハンドルの作成方法に関係なく、API 呼び出しを同期的に実行します。

要件

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

こちらもご覧ください

GetOverlappedResult

CF_PIN_STATE

CF_SET_PIN_FLAGS