共用方式為


ICopyHookW 介面 (shlobj.h)

公開方法,這個方法會建立 複製攔截處理程式。 複製攔截處理程式是Shell延伸模組,可決定是否可以移動、複製、重新命名或刪除Shell資料夾或列印機物件。 Shell 會先呼叫 ICopyHookW::CopyCallback 方法,然後再執行其中一項作業。

遺產

ICopyHookW 介面繼承自 IUnknown 介面。

方法

ICopyHookW 介面具有這些方法。

 
ICopyHookW::CopyCallback

決定是否允許殼層移動、複製、刪除或重新命名資料夾或列印機物件。 (Unicode)

言論

複製攔截處理程式,這是 OLE 進程內伺服器(dll),不會執行工作本身,但它會核准或拒絕動作。 如果殼層收到複製攔截處理程式的核准,它會執行文件系統作業。 複製攔截處理程式不會得知作業成功,因此除非使用 FindFirstChangeNotification ,否則它們無法監視資料夾物件上所採取的動作。

資料夾物件可以有多個複製攔截處理程式。 例如,即使Shell已經有針對特定資料夾物件註冊的複製攔截處理程式,您仍然可以註冊自己的其中一個。 如果為對象註冊兩個或多個複製攔截處理程式,Shell 只會在執行其中一個指定的文件系統作業之前呼叫每個處理程式。

殼層會直接初始化 ICopyHookA ,而不先使用 IShellExtInit 介面。

CopyCallback 會傳回 int 值,指出殼層是否應該執行作業。 Shell 會呼叫為資料夾物件註冊的每個複製攔截處理程式,直到呼叫所有處理程式,或直到其中一個處理程式傳回 IDYES 以外的值為止。 處理程式會傳回 IDYES 以指定應該執行作業,或 IDNO 或 IDCANCEL 指定應該停止作業。

當您想要控制指定物件上是否執行這些檔案系統作業時,請實作複製攔截處理程式。 例如,您可能想要在共享資料夾上使用複製攔截處理程式。

您不會直接呼叫此 Shell 擴充功能。 在移動、複製、刪除或重新命名Shell資料夾物件之前,殼層會先呼叫 copyCallback

注意

shlobj.h 標頭會將 ICopyHook 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
標頭 shlobj.h