Compartir a través de


Método IVdsDiskPartitionMF::FormatPartitionEx (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 una partición existente de OEM, ESP o desconocida.

Sintaxis

HRESULT FormatPartitionEx(
  [in]  ULONGLONG ullOffset,
  [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] ullOffset

Desplazamiento de bytes de la partición desde el principio del disco. Este desplazamiento debe ser el desplazamiento del inicio de una partición.

[in] pwszFileSystemTypeName

Cadena Unicode terminada en NULL que contiene el nombre del sistema de archivos con el que se va a dar formato a la partición. Debe ser NULL o uno de los siguientes: "NTFS", "FAT","FAT32", "UDF" o "EXFAT". Si este parámetro es NULL, se usa un valor predeterminado.

[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 un separador decimal está implícito 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 para el 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 asignar al nuevo sistema de archivos para el volumen. El tamaño máximo de etiqueta depende del sistema de archivos.

[in] bForce

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

[in] bQuickFormat

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

[in] bEnableCompression

Boolean que determina si se creará un sistema de archivos 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 al finalizar correctamente 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 pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.

Código o valor devuelto Descripción
S_OK
El volumen se particionó correctamente.
VDS_E_BAD_PROVIDER_DATA
0x80042441L
Un proveedor devolvió datos incorrectos.
VDS_E_DISK_REMOVEABLE
0x8004255AL
La operación no se admite en medios extraíbles.
VDS_E_FS_NOT_DETERMINED
0x80042593L
No se pudo determinar el sistema de archivos predeterminado.
VDS_E_MISSING_DISK
0x80042454L
Falta el disco.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
La partición no existe.
VDS_E_PARTITION_NOT_OEM
0x8004256FL
La operación no se admite en particiones que no son oem.
 

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_ACCESS_DENIED
0x80042427L
Acceso denegado.
VDS_E_BAD_LABEL
0x80042429L
La etiqueta no es válida.
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
El volumen no puede tener formato rápido.
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_CLUSTER_SIZE_TOO_BIG
0x8004242FL
El tamaño del clúster es demasiado grande para permitir el formato.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
El tamaño del clúster es demasiado pequeño para permitir el formato.
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_IO_ERROR
0x8004242BL
Error de E/S durante el formato.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
El medio está protegido por escritura.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
El tamaño del volumen es demasiado grande para dar formato.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
El tamaño del volumen es demasiado pequeño para dar formato.

Comentarios

Este método solo da formato a las particiones OEM, ESP y desconocidas. Para otras particiones, debe dar formato al volumen correspondiente mediante el método IVdsVolumeMF::Format o IVdsVolumeMF2::FormatEx . Tenga en cuenta que las particiones OEM, ESP y desconocidas no se exponen como volúmenes y, por lo tanto, no se pueden dar formato con Format o FormatEx.

Este método no se puede usar para dar formato a medios extraíbles.

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.

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

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 vds.h
Library Uuid.lib

Consulte también

IVdsAdvancedDisk::FormatPartition

IVdsDiskPartitionMF