Metodo ICopyHookA::CopyCallback (shlobj.h)
Determina se la shell potrà spostare, copiare, eliminare o rinominare una cartella o un oggetto stampante.
Sintassi
UINT CopyCallback(
HWND hwnd,
UINT wFunc,
UINT wFlags,
PCSTR pszSrcFile,
DWORD dwSrcAttribs,
PCSTR pszDestFile,
DWORD dwDestAttribs
);
Parametri
hwnd
Handle per la finestra che il gestore dell'hook di copia deve usare come elemento padre per qualsiasi elemento dell'interfaccia utente che il gestore potrebbe dover visualizzare. Se FOF_SILENT è specificato in wFunc, il metodo deve ignorare questo parametro.
wFunc
Operazione da eseguire. Questo parametro può essere uno dei valori elencati nel membro wFunc della struttura SHFILEOPSTRUCT .
wFlags
Flag che controllano l'operazione. Questo parametro può essere uno o più dei valori elencati nel membro fFlags della struttura SHFILEOPSTRUCT .
Per gli hook di copia della stampante, questo valore è uno dei valori seguenti definiti in Shellapi.h.
Valore | Descrizione |
---|---|
PO_DELETE | Viene eliminata una stampante. pszSrcFile punta al percorso completo della stampante specificata. |
PO_RENAME | Viene rinominata una stampante. Il parametro pszSrcFile punta al nuovo nome della stampante. Il parametro pszDestFile punta al nome precedente. |
PO_PORTCHANGE | Non supportato. Non usare. |
PO_REN_PORT | Non supportato. Non usare. |
pszSrcFile
Puntatore a una stringa contenente il nome della cartella di origine.
dwSrcAttribs
Attributi della cartella di origine. Questo parametro può essere una combinazione di qualsiasi flag di attributo file (FILE_ATTRIBUTE_*) definito nei file di intestazione. Vedere Costanti degli attributi di file.
pszDestFile
Puntatore a una stringa contenente il nome della cartella di destinazione.
dwDestAttribs
Attributi della cartella di destinazione. Questo parametro può essere una combinazione di qualsiasi flag di attributo file (FILE_ATTRIBUTE_*) definito nei file di intestazione. Vedere Costanti degli attributi di file.
Valore restituito
Restituisce un valore intero che indica se shell deve eseguire l'operazione. I tipi validi sono:
Valore | Descrizione |
---|---|
IDYES | Consente l'operazione. |
IDNO | Impedisce l'operazione in questa cartella, ma continua con qualsiasi altra operazione approvata, ad esempio un'operazione di copia batch. |
IDCANCEL | Impedisce l'operazione corrente e annulla tutte le operazioni in sospeso. |
Commenti
Shell chiama ogni gestore hook di copia registrato per una cartella o un oggetto stampante fino a quando non vengono chiamati tutti i gestori o fino a quando uno di essi non restituisce IDNO o IDCANCEL.
I gestori hook di copia per le cartelle vengono registrati nella chiave seguente:
HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{valore CLSID copyhook}
I gestori hook di copia per le stampanti vengono registrati nella chiave seguente.
HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{valore CLSID copyhook}
Quando questo metodo viene chiamato, Shell inizializza l'interfaccia ICopyHookA direttamente senza usare prima un'interfaccia IShellExtInit .
Requisiti
Requisito | Valore |
---|---|
Intestazione | shlobj.h |