Interfaz IFileOperation (shobjidl_core.h)
Expone métodos para copiar, mover, cambiar el nombre, crear y eliminar elementos de Shell, así como métodos para proporcionar diálogos de progreso y error. Esta interfaz reemplaza la función SHFileOperation .
Herencia
La interfaz IFileOperation hereda de la interfaz IUnknown . IFileOperation también tiene estos tipos de miembros:
Métodos
La interfaz IFileOperation tiene estos métodos.
IFileOperation::Advise Permite a un controlador proporcionar información de estado y error para todas las operaciones. |
IFileOperation::ApplyPropertiesToItem Declara un solo elemento cuyos valores de propiedad se van a establecer. |
IFileOperation::ApplyPropertiesToItems Declara un conjunto de elementos para los que se va a aplicar un conjunto común de valores de propiedad. |
IFileOperation::CopyItem Declara un único elemento que se va a copiar en un destino especificado. |
IFileOperation::CopyItems Declara un conjunto de elementos que se van a copiar en un destino especificado. |
IFileOperation::D eleteItem Declara un único elemento que se va a eliminar. |
IFileOperation::D eleteItems Declara un conjunto de elementos que se van a eliminar. |
IFileOperation::GetAnyOperationsAborted Obtiene un valor que indica si se detuvo alguna operación de archivo iniciada por una llamada a IFileOperation::P erformOperations antes de que se completaran. El sistema podría detener las operaciones mediante la acción del usuario o silenciosamente. |
IFileOperation::MoveItem Declara un único elemento que se va a mover a un destino especificado. |
IFileOperation::MoveItems Declara un conjunto de elementos que se van a mover a un destino especificado. |
IFileOperation::NewItem Declara un nuevo elemento que se va a crear en una ubicación especificada. |
IFileOperation::P erformOperations Ejecuta todas las operaciones seleccionadas. |
IFileOperation::RenameItem Declara un único elemento al que se va a asignar un nuevo nombre para mostrar. |
IFileOperation::RenameItems Declara un conjunto de elementos a los que se va a asignar un nuevo nombre para mostrar. Todos los elementos tienen el mismo nombre. |
IFileOperation::SetOperationFlags Establece parámetros para la operación actual. |
IFileOperation::SetOwnerWindow Establece la ventana principal o propietaria para las ventanas de progreso y diálogo. |
IFileOperation::SetProgressDialog Especifica un cuadro de diálogo que se usa para mostrar el progreso de la operación. |
IFileOperation::SetProgressMessage Sin implementar. (IFileOperation.SetProgressMessage) |
IFileOperation::SetProperties Declara un conjunto de propiedades y valores que se van a establecer en un elemento o elementos. |
IFileOperation::Unadvise Finaliza una conexión de asesoramiento establecida previamente a través de IFileOperation::Advise. |
Comentarios
Un elemento de Shell puede ser cualquier objeto del espacio de nombres, incluidos objetos del sistema de archivos, como archivos y carpetas, pero también objetos virtuales. En los temas del método IFileOperation , el término "item" se usa para hacer referencia genéricamente a cualquier objeto de espacio de nombres.
IFileOperation ofrece muchas ventajas sobre la función SHFileOperation anterior.
- Uso de IShellItem para identificar elementos en lugar de rutas de acceso de cadena. SHFileOperation requiere la ruta de acceso y las cadenas de destino para terminar en dos caracteres NULL en lugar del carácter null único estándar, que se usó para delimitar varias rutas de acceso en la cadena. Identificar un elemento mediante IShellItem es más sólido y menos propenso a errores de programación. También permite acceder a elementos del sistema que no son de archivo, como carpetas virtuales. Se pueden pasar varios elementos de una operación como IShellItemArray, IDataObject o una colección a la que se accede a través de IEnumShellItems en lugar de como una cadena.
- Informes de errores más precisos a través de valores HRESULT junto con una API como FormatMessage. Los códigos de retorno de SHFileOperation podrían ser engañosos o inexactos.
- Extensibilidad. Como interfaz del Modelo de objetos componentes (COM), IFileOperation puede tener sus funcionalidades extendidas por un tercero para satisfacer sus necesidades específicas, aunque esto debería ser un caso muy poco frecuente. Windows proporciona una implementación predeterminada de IFileOperation que debe satisfacer las necesidades de la mayoría de los usuarios.
- Mejores comentarios de progreso. El progreso detallado de la operación, incluidas las notificaciones cuando comienzan y finalizan operaciones específicas en elementos individuales, así como el progreso general, se pueden recibir durante la operación. Aunque SHFileOperation proporcionó la interfaz de usuario de progreso, no fue tan detallada.
- Más funcionalidad. Además de la funcionalidad de copia, eliminación, movimiento y cambio de nombre proporcionada por SHFileOperation, IFileOperation permite aplicar valores de propiedad y crear nuevos elementos.
- Más control sobre la operación. Además de las marcas de operación reconocidas por SHFileOperation, se reconocen nuevas marcas en IFileOperation::SetOperationFlags que especifican opciones de operación extendidas.
- Se pueden realizar diferentes operaciones en una llamada. Por ejemplo, puede mover un conjunto de archivos, copiar otros, cambiar el nombre de una carpeta y aplicar propiedades a otro elemento en una sola operación. SHFileOperation solo puede realizar una operación (copiar, mover, cambiar el nombre o eliminar) a la vez.
- Opcional. Configure el receptor de eventos para el estado de progreso y las notificaciones de error a través de Aviso y No recuperación.
- Establezca el estado de la operación con lo siguiente según sea necesario:
- Especifique qué operaciones se van a realizar en qué elementos se usan los siguientes según sea necesario.
- Ejecute las operaciones mediante una llamada a PerformOperations.
Un ejemplo completo que muestra la extensión de IFileOperation se incluye en el Kit de desarrollo de software de Windows (SDK). En una instalación predeterminada, se puede encontrar en %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\FileOperations.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl_core.h (incluya Shobjidl.h) |