Share via


Método IVdsVolumeMF2::FormatEx (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 volumen del sistema de archivos en una partición.

Sintaxis

HRESULT FormatEx(
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  BOOL      bForce,
  [in]  BOOL      bQuickFormat,
  [in]  BOOL      bEnableCompression,
  [out] IVdsAsync **ppAsync
);

Parámetros

[in] pwszFileSystemTypeName

Cadena Unicode terminada en NULL que contiene el nombre del sistema de archivos con el que se va a dar formato al volumen. Este parámetro puede ser NULL o el nombre de un sistema de archivos de Windows. Se admiten los siguientes sistemas de archivos: "NTFS", "FAT", "FAT32", "UDF" y "EXFAT". Si este parámetro es NULL, se usa el sistema de archivos predeterminado. Para obtener más información, consulte VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG.

[in] usFileSystemRevision

Revisión del sistema de archivos, si existe. Este miembro se expresa como un número decimal con código binario de 16 bits, donde se implica un separador decimal entre los dígitos segundo y tercero. Por ejemplo, un valor de 0x0250 indica la revisión 2.50.

[in] ulDesiredUnitAllocationSize

Tamaño de la unidad de asignación del sistema de archivos, en bytes. El valor debe ser una potencia de 2. Si el valor es 0, se usará una unidad de asignación predeterminada determinada por el tipo de sistema de archivos. El intervalo de unidades de asignación depende del sistema de archivos.

[in] pwszLabel

Cadena Unicode terminada en NULL para asignarla al nuevo sistema de archivos. El tamaño máximo de etiqueta depende del sistema de archivos.

[in] bForce

Boolean que determina si se fuerza un formato del sistema de archivos, independientemente de si la partición está en uso.

[in] bQuickFormat

Valor booleano que determina si un volumen del sistema de archivos tiene un formato rápido. Un formato rápido no comprueba cada sector del volumen.

[in] bEnableCompression

Valor booleano que determina si el volumen del sistema de archivos se creará con la compresión habilitada.

Nota Este parámetro se omite si el sistema de archivos no es NTFS.
 

[out] ppAsync

Puntero a una interfaz IVdsAsync que, tras la finalización correcta, recibe la interfaz IVdsAsync para supervisar y controlar esta operación. Los autores de llamadas deben liberar la interfaz recibida cuando terminen con ella.

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
0x00000000L
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 volumen pagefile.
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.
VDS_E_FS_NOT_DETERMINED
0x80042593L
No se pudo determinar el sistema de archivos predeterminado.
 

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

Código o valor devuelto Descripción
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
Se denegó el acceso.
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_S_VOLUME_COMPRESS_FAILED
0x00042443L
El sistema de archivos tiene formato pero no está comprimido.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
No se pudo deshabilitar el cifrado de BitLocker para el volumen.

Comentarios

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 vuelve 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 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h
Library Uuid.lib

Vea también

IVdsVolumeMF2