Método ICopyHookA::CopyCallback (shlobj.h)
Determina si el Shell podrá mover, copiar, eliminar o cambiar el nombre de una carpeta o un objeto de impresora.
Sintaxis
UINT CopyCallback(
HWND hwnd,
UINT wFunc,
UINT wFlags,
PCSTR pszSrcFile,
DWORD dwSrcAttribs,
PCSTR pszDestFile,
DWORD dwDestAttribs
);
Parámetros
hwnd
Identificador de la ventana que el controlador de enlace de copia debe usar como elemento primario para cualquier elemento de la interfaz de usuario que el controlador necesite mostrar. Si FOF_SILENT se especifica en wFunc, el método debe omitir este parámetro.
wFunc
Operación que se va a realizar. Este parámetro puede ser uno de los valores enumerados en el miembro wFunc de la estructura SHFILEOPSTRUCT .
wFlags
Marcas que controlan la operación. Este parámetro puede ser uno o varios de los valores enumerados en el miembro fFlags de la estructura SHFILEOPSTRUCT .
En el caso de los enlaces de copia de impresora, este valor es uno de los siguientes valores definidos en Shellapi.h.
Valor | Descripción |
---|---|
PO_DELETE | Se está eliminando una impresora. pszSrcFile apunta a la ruta de acceso completa a la impresora especificada. |
PO_RENAME | Se cambia el nombre de una impresora. El parámetro pszSrcFile apunta al nuevo nombre de la impresora. El parámetro pszDestFile apunta al nombre anterior. |
PO_PORTCHANGE | No compatible. No debe usarse. |
PO_REN_PORT | No compatible. No debe usarse. |
pszSrcFile
Puntero a una cadena que contiene el nombre de la carpeta de origen.
dwSrcAttribs
Atributos de la carpeta de origen. Este parámetro puede ser una combinación de cualquiera de las marcas de atributo de archivo (FILE_ATTRIBUTE_*) definidas en los archivos de encabezado. Consulte Constantes de atributo de archivo.
pszDestFile
Puntero a una cadena que contiene el nombre de la carpeta de destino.
dwDestAttribs
Atributos de la carpeta de destino. Este parámetro puede ser una combinación de cualquiera de las marcas de atributo de archivo (FILE_ATTRIBUTE_*) definidas en los archivos de encabezado. Consulte Constantes de atributo de archivo.
Valor devuelto
Devuelve un valor entero que indica si el Shell debe realizar la operación. Uno de los siguientes:
Valor | Descripción |
---|---|
IDYES | Permite la operación. |
IDNO | Impide la operación en esta carpeta, pero continúa con cualquier otra operación que se haya aprobado (por ejemplo, una operación de copia por lotes). |
IDCANCEL | Impide la operación actual y cancela las operaciones pendientes. |
Comentarios
Shell llama a cada controlador de enlace de copia registrado para una carpeta o objeto de impresora hasta que se haya llamado a todos los controladores, o hasta que uno de ellos devuelva IDNO o IDCANCEL.
Los controladores de enlace de copia para las carpetas se registran en la clave siguiente:
HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}
Los controladores de enlace de copia para las impresoras se registran en la siguiente clave.
HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}
Cuando se llama a este método, shell inicializa la interfaz ICopyHookA directamente sin usar primero una interfaz IShellExtInit .
Requisitos
Requisito | Valor |
---|---|
Header | shlobj.h |