次の方法で共有


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_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 エラー コードが返されます。

注釈

非同期 FileHandleOverlapped を指定して結合すると、プラットフォームは呼び出しを非同期的に実行できます。

待機するイベントを使用して、重複する構造体を初期化する必要があります。 この関数が 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

こちらも参照ください

GetOverlappedResult

CF_PIN_STATE

CF_SET_PIN_FLAGS