ICopyHookA::CopyCallback メソッド (shlobj.h)
シェルでフォルダーまたはプリンター オブジェクトの移動、コピー、削除、または名前変更を許可するかどうかを指定します。
構文
UINT CopyCallback(
HWND hwnd,
UINT wFunc,
UINT wFlags,
PCSTR pszSrcFile,
DWORD dwSrcAttribs,
PCSTR pszDestFile,
DWORD dwDestAttribs
);
パラメーター
hwnd
コピー フック ハンドラーが、ハンドラーが表示する必要があるユーザー インターフェイス要素の親として使用する必要があるウィンドウへのハンドル。 wFunc で FOF_SILENTが指定されている場合、メソッドはこのパラメーターを無視する必要があります。
wFunc
実行する操作。 このパラメーターには、SHFILEOPSTRUCT 構造体の wFunc メンバーの下にリストされている値のいずれかを指定できます。
wFlags
操作を制御するフラグ。 このパラメーターには、SHFILEOPSTRUCT 構造体の fFlags メンバーの下にリストされている 1 つ以上の値を指定できます。
プリンター コピー フックの場合、この値は Shellapi.h で定義されている次のいずれかの値です。
値 | 説明 |
---|---|
PO_DELETE | プリンターが削除されています。 pszSrcFile は 、指定されたプリンターへの完全パスを指します。 |
PO_RENAME | プリンターの名前が変更されています。 pszSrcFile パラメーターは、プリンターの新しい名前を指します。 pszDestFile パラメーターは古い名前を指します。 |
PO_PORTCHANGE | サポートされていません。 使用しないでください。 |
PO_REN_PORT | サポートされていません。 使用しないでください。 |
pszSrcFile
ソース フォルダーの名前を含む文字列へのポインター。
dwSrcAttribs
ソース フォルダーの属性。 このパラメーターには、ヘッダー ファイルで定義されている任意のファイル属性フラグ (FILE_ATTRIBUTE_*) の組み合わせを指定できます。 「ファイル属性定数」を参照してください。
pszDestFile
コピー先フォルダーの名前を含む文字列へのポインター。
dwDestAttribs
移動先フォルダーの属性。 このパラメーターには、ヘッダー ファイルで定義されている任意のファイル属性フラグ (FILE_ATTRIBUTE_*) の組み合わせを指定できます。 「ファイル属性定数」を参照してください。
戻り値
シェルが操作を実行する必要があるかどうかを示す整数値を返します。 次のいずれかになります。
値 | 説明 |
---|---|
IDYES | 操作を許可します。 |
IDNO | このフォルダーに対する操作を禁止しますが、承認されたその他の操作 (バッチ コピー操作など) を続行します。 |
IDCANCEL | 現在の操作を禁止し、保留中の操作を取り消します。 |
注釈
シェルは、すべてのハンドラーが呼び出されるまで、またはいずれかのハンドラーが IDNO または IDCANCEL を返すまで、フォルダーまたはプリンター オブジェクトに登録されている各コピー フック ハンドラーを呼び出します。
フォルダーのコピー フック ハンドラーは、次のキーの下に登録されます。
HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}
プリンターのコピー フック ハンドラーは、次のキーの下に登録されます。
HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}
このメソッドが呼び出されると、最初に IShellExtInit インターフェイスを使用せずに、シェルによって ICopyHookA インターフェイスが直接初期化されます。
要件
要件 | 値 |
---|---|
Header | shlobj.h |