共用方式為


ICopyHookA::CopyCallback 方法 (shlobj.h)

決定是否允許Shell移動、複製、刪除或重新命名資料夾或印表機物件。

語法

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 成員底下所列的一或多個值。

針對印表機複製勾點,此值是Shellapi.h中定義的下列其中一個值。

Description
PO_DELETE 正在刪除印表機。 pszSrcFile 指向指定印表機的完整路徑。
PO_RENAME 正在重新命名印表機。 pszSrcFile 參數會指向印表機的新名稱。 pszDestFile 參數會指向舊名稱。
PO_PORTCHANGE 不支援。 請勿使用。
PO_REN_PORT 不支援。 請勿使用。

pszSrcFile

包含源資料夾名稱的字串指標。

dwSrcAttribs

源數據夾的屬性。 此參數可以是頭檔中定義的任何檔案屬性旗標 (FILE_ATTRIBUTE_*) 的組合。 請參閱 檔案屬性常數

pszDestFile

包含目的地資料夾名稱的字串指標。

dwDestAttribs

目的地資料夾的屬性。 此參數可以是頭檔中定義的任何檔案屬性旗標 (FILE_ATTRIBUTE_*) 的組合。 請參閱 檔案屬性常數

傳回值

傳回整數值,指出Shell是否應該執行作業。 下列其中之一:

Description
IDYES 允許作業。
IDNO 防止此資料夾上的作業,但會繼續執行任何其他已核准 (的作業,例如批次複製作業) 。
IDCANCEL 防止目前的作業,並取消任何暫止的作業。

備註

Shell 會呼叫針對資料夾或印表機物件註冊的每個複製攔截處理程式,直到呼叫所有處理程式,或直到其中一個處理程式傳回IDNO或 IDCANCEL 為止。

資料夾的複製勾點處理程式會在下列機碼下註冊:

HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

印表機的複製勾點處理程式會在下列金鑰下註冊。

HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

呼叫此方法時,Shell 會直接初始化 ICopyHookA 介面,而不先使用 IShellExtInit 介面。

規格需求

需求
標頭 shlobj.h