次の方法で共有


IStorageProviderCopyHook::CopyCallback メソッド

クラウド プロバイダーの同期ルート内のフォルダーの移動、コピー、削除、または名前変更をシェルに許可するかどうかを指定します。

構文

HRESULT CopyCallback( 
    HWND hwnd,
    UINT operation,
    UINT flags,
    LPCWSTR srcFile,
    DWORD srcAttribs,
    LPCWSTR destFile,
    DWORD destAttribs,
    UINT* result
);

パラメーター

hwnd [in]

コピー フック ハンドラーが、ハンドラーが表示する必要があるユーザー インターフェイス要素の親として使用する必要があるウィンドウへのハンドル。 FOF_SILENT操作で指定されている場合、メソッドはこのパラメーターを無視する必要があります。

operation [in]

実行する操作。 このパラメーターには、SHFILEOPSTRUCT 構造体の wFunc メンバーの下にリストされている値のいずれかを指定できます。

flags [in]

操作を制御するフラグ。 このパラメーターには、SHFILEOPSTRUCT 構造体の fFlags メンバーの下にリストされている 1 つ以上の値を指定できます。

プリンター コピー フックの場合、この値は shellapi.h で定義されている次のいずれかの値です。

説明
PO_DELETE プリンターが削除されています。 srcFile パラメーターは、指定されたプリンターへの完全パスを指します。
PO_RENAME プリンターの名前が変更されています。 srcFile パラメーターは、プリンターの新しい名前を指します。 destFile パラメーターは、古い名前を指します。
PO_PORTCHANGE サポートされていません。 使用しないでください。
PO_REN_PORT サポートされていません。 使用しないでください。

srcFile [in]

ソース フォルダーの名前を含む文字列へのポインター。

srcAttribs [in]

ソース フォルダーの属性。 このパラメーターには、ヘッダー ファイルで定義されている任意のファイル属性フラグ (FILE_ATTRIBUTE_*) の組み合わせを指定できます。 「ファイル属性定数」を参照してください。

destFile [in]

コピー先フォルダーの名前を含む文字列へのポインター。

destAttribs [in]

移動先フォルダーの属性。 このパラメーターには、ヘッダー ファイルで定義されている任意のファイル属性フラグ (FILE_ATTRIBUTE_*) の組み合わせを指定できます。 「ファイル属性定数」を参照してください。

result [out]

シェルが操作を実行する必要があるかどうかを示す整数値。 次のいずれかになります。

説明
IDYES 操作を許可します。
IDNO このフォルダーに対する操作を禁止しますが、承認されたその他の操作 (バッチ コピー操作など) を続行します。
IDCANCEL 現在の操作を禁止し、保留中の操作を取り消します。

戻り値

成功した場合 はS_OK を返し、それ以外の場合はエラー コードを返します。

注釈

シェルは、登録済みの同期ルートの下のすべてのフォルダーについて、クラウド プロバイダーのコピー フック ハンドラーを呼び出します。 クラウド フォルダーのコピー フック ハンドラーを登録するには、HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/エクスプローラー/SyncRootManager/{SyncRootId} キーの下にある CopyHook 値をコピー フック オブジェクトの CLSID に設定します。

CopyCallback メソッドが呼び出されると、最初に IShellExtInit インターフェイスを使用せずに、シェルによって IStorageProviderCopyHook インターフェイスが直接初期化されます。

要件

要件
サポートされている最小のクライアント Windows 10 Insider プレビュー ビルド 19624
Header shobjidl.h

こちらもご覧ください

プレースホルダー ファイルをサポートするクラウド同期エンジンを構築する