Compartir a través de


Método IVdsDiskPartitionMF2::FormatPartitionEx2 (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 oem, ESP o desconocida. Este método es idéntico al método IVdsDiskPartitionMF::FormatPartition , salvo que las opciones de formato se especifican mediante el parámetro Options .

Sintaxis

HRESULT FormatPartitionEx2(
  [in]  ULONGLONG ullOffset,
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  DWORD     Options,
  [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. 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 que contiene la etiqueta que se va a asignar al nuevo sistema de archivos para la partición. El tamaño máximo de etiqueta depende del sistema de archivos.

[in] Options

Máscara de bits de VDS_FORMAT_OPTION_FLAGS valores de enumeración que especifican opciones de formato.

[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
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
No se puede dar formato rápido al volumen.
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.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vds.h

Consulte también

IVdsDiskPartitionMF2

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS