共用方式為


ICopyHookW::CopyCallback 方法 (shlobj.h)

判斷殼層是否允許移動、複製、刪除或重新命名資料夾或列印機物件。

語法

UINT CopyCallback(
  HWND   hwnd,
  UINT   wFunc,
  UINT   wFlags,
  PCWSTR pszSrcFile,
  DWORD  dwSrcAttribs,
  PCWSTR 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 值}

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

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

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

規格需求

需求
標頭 shlobj.h