Compartir a través de


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

Consulte también

FSCTL_SET_EXTERNAL_BACKING