Condividi tramite


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