この関数は、ユーザーの意図を表すプレースホルダーのピンの状態を設定します。 同期プロバイダーだけでなく、どのアプリケーションでもこの関数を呼び出すことができます。
構文
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_SET_PIN_FLAG_RECURSEを指定すると、プラットフォームは、FileHandle とその下のすべてのファイルにピンの状態を再帰的に適用します。 このフラグは、 FileHandle がディレクトリへのハンドルである場合にのみ関連します。
- CF_SET_PIN_FLAG_RECURSE_ONLYを指定すると、プラットフォームは FileHandle の下のすべてのファイルにピンの状態を再帰的に適用しますが、FileHandle 自体には適用しません。
- CF_SET_PIN_FLAG_RECURSE_STOP_ON_ERRORを指定した場合、プラットフォームは最初のエラーが発生したときに再帰を停止します。 それ以外の場合、プラットフォームはエラーをスキップし、再帰を続行します。
フラグを指定しない場合 は、CF_SET_PIN_FLAG_NONE を使用します。
[in, out, optional] Overlapped
呼び出しを非同期的に実行できるようにします。 詳細については、「 解説」 セクションを参照してください。
戻り値
この関数が成功すると、 S_OKが返されます。 それ以外の場合は、 HRESULT エラー コードが返されます。
注釈
非同期 FileHandle と Overlapped を指定して結合すると、プラットフォームは呼び出しを非同期的に実行できます。
待機するイベントを使用して、重複する構造体を初期化する必要があります。 この関数が HRESULT_FROM_WIN32(ERROR_IO_PENDING) を返す場合は、 GetOverlappedResult を使用して待機できます。 このパラメーターを指定しない場合、ハンドルの作成方法に関係なく、プラットフォームは API 呼び出しを同期的に実行します。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 10 バージョン 1709 [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の | ウィンドウズ |
| Header | cfapi.h |
| Library | CldApi.lib |
| DLL | CldApi.dll |