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 |