Función WofSetFileDataLocation (wofapi.h)
Se usa para cambiar un archivo de ser respaldado por un archivo físico a uno respaldado por un proveedor de datos del sistema.
Sintaxis
HRESULT WofSetFileDataLocation(
[in] HANDLE FileHandle,
[in] ULONG Provider,
[in] PVOID ExternalFileInfo,
[in] ULONG Length
);
Parámetros
[in] FileHandle
Identificador de un archivo abierto con CreateFile o una API similar.
[in] Provider
Indica qué proveedor respalda este archivo. Los proveedores definidos actualmente son:
WOF_PROVIDER_WIM | Indica que los datos del archivo deben obtenerse de un archivo WIM. En el acceso, los datos se extraen de forma transparente del archivo WIM y se proporcionan a las aplicaciones. Si se modifica el contenido del archivo, los datos se descomprimen de forma transparente y el archivo se restaura en el mismo formulario físico que tenía si no se usaba esta API. |
WOF_PROVIDER_FILE | Indica que los datos del archivo deben comprimirse y almacenarse con el propio archivo. En el acceso, los datos se descomprimen de forma transparente y se proporcionan a las aplicaciones. Si se modifica el contenido del archivo, los datos se descomprimen de forma transparente y el archivo se restaura en el mismo formulario físico que tenía si no se usaba esta API. Este proveedor requiere Windows 10. |
[in] ExternalFileInfo
Proporciona datos específicos del proveedor especificado. Las estructuras de datos para cada proveedor definido son:
WOF_PROVIDER_WIM | WIM_EXTERNAL_FILE_INFO |
WOF_PROVIDER_FILE | WOF_FILE_COMPRESSION_INFO |
[in] Length
Especifica la longitud de los datos específicos del proveedor, en bytes. Esto debe corresponder a las estructuras definidas anteriormente:
WOF_PROVIDER_WIM | sizeof(WIM_EXTERNAL_FILE_INFO) |
WOF_PROVIDER_FILE | sizeof(WOF_FILE_COMPRESSION_INFO) |
Valor devuelto
Esta función devuelve un VALOR HRESULT que indica que se ha realizado correctamente o el motivo del error.
Comentarios
Al usar WOF_PROVIDER_FILE, se puede producir un error en la operación con ERROR_COMPRESSION_NOT_BENEFICIAL. Esto indica que se intentó comprimir los datos, pero no se guardó ningún espacio en disco, por lo que el archivo no se comprimió. Para la mayoría de las aplicaciones, esto se puede tratar como una condición de éxito.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | wofapi.h |
Library | Wofutil.lib |
Archivo DLL | Wofutil.dll |