Compartir a través de


Método IVdsVolumeMF::Format (vds.h)

[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]

Da formato a un sistema de archivos en el volumen actual.

Sintaxis

HRESULT Format(
  [in]  VDS_FILE_SYSTEM_TYPE type,
  [in]  LPWSTR               pwszLabel,
  [in]  DWORD                dwUnitAllocationSize,
  [in]  BOOL                 bForce,
  [in]  BOOL                 bQuickFormat,
  [in]  BOOL                 bEnableCompression,
  [out] IVdsAsync            **ppAsync
);

Parámetros

[in] type

Valor de enumeración VDS_FILE_SYSTEM_TYPE que especifica el sistema de archivos que se va a usar. Debe ser uno de los siguientes: VDS_FST_NTFS, VDS_FST_FAT, VDS_FST_FAT32 o VDS_FST_UDF.

[in] pwszLabel

Cadena que representa la etiqueta del sistema de archivos.

[in] dwUnitAllocationSize

Tamaño de la unidad de asignación para el sistema de archivos en bytes, que suele estar entre 512 y 65536.

[in] bForce

Si es TRUE, el sistema de archivos tiene el formato incondicionalmente incluso mientras está en uso; de lo contrario, se produce un error en la operación.

[in] bQuickFormat

Si es TRUE, VDS realiza un formato rápido (no comprueba cada sector del volumen).

[in] bEnableCompression

Si es TRUE, la compresión está habilitada en el sistema de archivos con formato reciente. La compresión es una característica de NTFS y se omite para FAT y FAT32.

[out] ppAsync

Dirección de un puntero de interfaz IVdsAsync , que VDS inicializa al devolver. Los autores de llamadas deben liberar la interfaz. Use este puntero para cancelar, esperar o consultar el estado de la operación.

Valor devuelto

Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores se pueden originar en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los posibles valores devueltos se incluyen los siguientes.

Código o valor devuelto Descripción
S_OK
El sistema de archivos se ha formateado correctamente.
VDS_E_OPERATION_DENIED
0x8004240AL
La operación se deniega si el autor de la llamada intenta dar formato al sistema, arranque, crashdump, hibernación o volúmenes de archivos de página.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Error en el volumen.
VDS_E_PACK_OFFLINE
0x80042444L
No se puede acceder al paquete que contiene el volumen. No se puede acceder a todos los volúmenes de un paquete sin conexión.
 

Además, la interfaz IVdsAsync puede devolver las siguientes advertencias relacionadas y códigos de error.

Código o valor devuelto Descripción
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
El sistema de archivos tiene formato pero no está comprimido.
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
El sistema de archivos no es compatible.
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
El medio no es compatible.
VDS_E_ACCESS_DENIED
0x80042427L
Acceso denegado.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
El medio está protegido por escritura.
VDS_E_BAD_LABEL
0x80042429L
La etiqueta no es válida.
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
No se puede dar formato rápido al volumen.
VDS_E_IO_ERROR
0x8004242BL
Error de E/S durante el formato.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
El tamaño del volumen es demasiado pequeño para dar formato.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
El tamaño del volumen es demasiado grande para dar formato.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
El tamaño del clúster es demasiado pequeño para permitir el formato.
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
El tamaño del clúster es demasiado grande para permitir el formato.
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
El número de clústeres es demasiado grande para representarse como un entero de 32 bits.
VDS_E_INVALID_FS_TYPE
0x80042561L
El valor del parámetro type no se VDS_FST_NTFS, VDS_FST_FAT, VDS_FST_FAT32 ni VDS_FST_UDF.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
No se pudo deshabilitar el cifrado de BitLocker para el volumen.

Comentarios

Para crear un volumen de arranque en un disco dinámico, debe llamar a IVdsVolume::SetFlags para establecer la marca VDS_VF_INSTALLABLE antes de llamar a Format para dar formato al volumen.

Si una partición OEM tiene el formato FAT o FAT32, el tipo de partición no cambia. Si tiene formato NTFS, el tipo de partición cambia a PARTITION_IFS (0x07). Para obtener información sobre los tipos de partición, consulte CREATE_PARTITION_PARAMETERS.

Si se llama a este método para un volumen protegido por el cifrado de volumen completo de BitLocker, el cifrado de BitLocker se deshabilita para el volumen hasta que el usuario lo vuelva a habilitar.

Para obtener más información sobre los límites del sistema de archivos, como el tamaño mínimo y máximo de la unidad de asignación (también denominado tamaño de clúster), consulte Referencia técnica ntfs y Referencia técnica fat.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h
Library Uuid.lib

Consulte también

IVdsAsync

IVdsVolumeMF

VDS_FILE_SYSTEM_TYPE