Compartir a través de


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