Condividi tramite


Metodo ICopyHookW::CopyCallback (shlobj.h)

Determina se shell sarà consentito spostare, copiare, eliminare o rinominare una cartella o un oggetto stampante.

Sintassi

UINT CopyCallback(
  HWND   hwnd,
  UINT   wFunc,
  UINT   wFlags,
  PCWSTR pszSrcFile,
  DWORD  dwSrcAttribs,
  PCWSTR pszDestFile,
  DWORD  dwDestAttribs
);

Parametri

hwnd

Handle alla 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 i 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 uno dei flag dell'attributo file (FILE_ATTRIBUTE_*) definiti nei file di intestazione. Vedere Costanti dell'attributo 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 uno dei flag dell'attributo file (FILE_ATTRIBUTE_*) definiti nei file di intestazione. Vedere Costanti dell'attributo file.

Valore restituito

Restituisce un valore integer 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 di hook di copia registrato per una cartella o un oggetto stampante fino a quando non sono stati chiamati tutti i gestori oppure fino a quando uno di essi restituisce IDNO o IDCANCEL.

I gestori di hook di copia per le cartelle vengono registrati nella chiave seguente:

HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

I gestori di hook di copia per le stampanti vengono registrati sotto la chiave seguente.

HKEY_CLASSES_ROOT/Stampanti/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

Quando questo metodo viene chiamato, Shell inizializza l'interfaccia ICopyHookW direttamente senza usare prima un'interfaccia IShellExtInit .

Requisiti

Requisito Valore
Intestazione shlobj.h