Compartir a través de


Interfaz ICopyHookW (shlobj.h)

Expone un método que crea un controlador de enlace de copia . Un controlador de enlace de copia es una extensión de Shell que determina si se puede mover, copiar, cambiar el nombre o eliminar un objeto de carpeta o impresora de Shell. Shell llama al método ICopyHookW::CopyCallback antes de realizar una de estas operaciones.

Herencia

La interfaz ICopyHookW hereda de la interfaz IUnknown.

Métodos

La interfaz ICopyHookW tiene estos métodos.

 
ICopyHookW::CopyCallback

Determina si el shell podrá mover, copiar, eliminar o cambiar el nombre de una carpeta o un objeto de impresora. (Unicode)

Observaciones

El controlador de enlace de copia, que es un servidor OLE en proceso (un archivo DLL), no realiza la tarea en sí, pero aprueba o desaprueba la acción. Si shell recibe la aprobación del controlador de enlace de copia, realiza la operación del sistema de archivos. Los controladores de enlace de copia no están informados sobre el éxito de una operación, por lo que no pueden supervisar las acciones realizadas en objetos de carpeta a menos que se use findFirstChangeNotification.

Un objeto folder puede tener varios controladores de enlace de copia. Por ejemplo, incluso si el Shell ya tiene un controlador de enlace de copia registrado para un objeto de carpeta determinado, todavía puede registrar uno de los suyos propios. Si se registran dos o más controladores de enlace de copia para un objeto, shell simplemente llama a cada uno de ellos antes de realizar una de las operaciones del sistema de archivos especificadas.

Shell inicializa ICopyHookA directamente, sin usar primero la interfaz IShellExtInit.

CopyCallback devuelve un valor int que indica si shell debe realizar la operación. Shell llamará a cada controlador de enlace de copia registrado para un objeto de carpeta hasta que se haya llamado a todos los controladores o hasta que uno de ellos haya devuelto un valor distinto de IDYES. El controlador devuelve IDYES para especificar que se debe realizar la operación, o IDNO o IDCANCEL para especificar que se debe interrumpir la operación.

Implemente un controlador de enlace de copia cuando desee controlar cuándo, o si, estas operaciones del sistema de archivos se realizan en un objeto determinado. Es posible que quiera usar un controlador de enlace de copia en carpetas compartidas, por ejemplo.

No se llama directamente a esta extensión de Shell. el shell llama a copyCallback antes de mover, copiar, eliminar o cambiar el nombre de un objeto de carpeta de Shell.

Nota

El encabezado shlobj.h define ICopyHook como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
encabezado de shlobj.h