Compartilhar via


Método IVdsDiskPartitionMF::FormatPartitionEx (vds.h)

[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]

Formata uma partição OEM, ESP ou desconhecida existente.

Sintaxe

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

Deslocamento de bytes da partição desde o início do disco. Esse deslocamento deve ser o deslocamento do início de uma partição.

[in] pwszFileSystemTypeName

Uma cadeia de caracteres Unicode terminada em NULL que contém o nome do sistema de arquivos com o qual formatar a partição. Deve ser NULL ou um dos seguintes: "NTFS", "FAT", "FAT32", "UDF" ou "EXFAT". Se esse parâmetro for NULL, um valor padrão será usado.

[in] usFileSystemRevision

A revisão do sistema de arquivos, se houver. Esse membro é expresso como um número decimal codificado em binário de 16 bits, em que um ponto decimal está implícito entre o segundo e o terceiro dígitos. Por exemplo, um valor de 0x0250 indica a revisão 2,50.

[in] ulDesiredUnitAllocationSize

O tamanho da unidade de alocação para o sistema de arquivos, em bytes. O valor deve ser uma potência de 2. Se o valor for 0, uma unidade de alocação padrão determinada pelo tipo de sistema de arquivos será usada. O intervalo de unidade de alocação depende do sistema de arquivos.

[in] pwszLabel

Cadeia de caracteres Unicode terminada em nulo para atribuir ao novo sistema de arquivos para o volume. O tamanho máximo do rótulo depende do sistema de arquivos.

[in] bForce

Booliano que determina se um formato de sistema de arquivos é forçado, independentemente de a partição estiver em uso.

[in] bQuickFormat

Booliano que determina se um volume do sistema de arquivos é formatado rapidamente. Um formato rápido não verifica cada setor no volume.

[in] bEnableCompression

Booliano que determina se um sistema de arquivos será criado com a compactação habilitada.

Nota Esse parâmetro será ignorado se o sistema de arquivos não for NTFS.
 

[out] ppAsync

Ponteiro para uma interface IVdsAsync que, após a conclusão bem-sucedida, recebe a interface IVdsAsync para monitorar e controlar essa operação. Os chamadores devem liberar a interface recebida quando terminarem de usá-la.

Retornar valor

Esse método pode retornar valores HRESULT padrão, como E_INVALIDARG ou E_OUTOFMEMORY, e valores retornados específicos do VDS. Ele também pode retornar códigos de erro do sistema convertidos usando a macro HRESULT_FROM_WIN32 . Os erros podem se originar do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.

Valor/código retornado Descrição
S_OK
O volume foi particionado com êxito.
VDS_E_BAD_PROVIDER_DATA
0x80042441L
Um provedor retornou dados inválidas.
VDS_E_DISK_REMOVEABLE
0x8004255AL
Não há suporte para a operação em mídia removível.
VDS_E_FS_NOT_DETERMINED
0x80042593L
Não foi possível determinar o sistema de arquivos padrão.
VDS_E_MISSING_DISK
0x80042454L
O disco está ausente.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
A partição não existe.
VDS_E_PARTITION_NOT_OEM
0x8004256FL
Não há suporte para a operação em partições não OEM.
 

Além disso, a interface IVdsAsync pode retornar os seguintes avisos relacionados e códigos de erro.

Valor/código retornado Descrição
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
O sistema de arquivos é formatado, mas não compactado.
VDS_E_ACCESS_DENIED
0x80042427L
Acesso negado.
VDS_E_BAD_LABEL
0x80042429L
O rótulo não é válido.
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
O volume não pode ser formatado rapidamente.
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
O número de clusters é muito grande para ser representado como um inteiro de 32 bits.
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
O tamanho do cluster é muito grande para permitir a formatação.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
O tamanho do cluster é muito pequeno para permitir a formatação.
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
O sistema de arquivos é incompatível.
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
A mídia é incompatível.
VDS_E_IO_ERROR
0x8004242BL
Ocorreu um erro de E/S durante o formato.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
A mídia é protegida por gravação.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
O tamanho do volume é muito grande para formatar.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
O tamanho do volume é muito pequeno para formatar.

Comentários

Esse método formata apenas OEM, ESP e partições desconhecidas. Para outras partições, você deve formatar o volume correspondente usando o método IVdsVolumeMF::Format ou IVdsVolumeMF2::FormatEx . Observe que as partições OEM, ESP e desconhecidas não são expostas como volumes e, portanto, não podem ser formatadas com Format ou FormatEx.

Esse método não pode ser usado para formatar mídia removível.

Se uma partição OEM for formatada como FAT ou FAT32, o tipo de partição não será alterado. Se for formatado com NTFS, o tipo de partição será alterado para PARTITION_IFS (0x07). Para obter informações sobre tipos de partição, consulte CREATE_PARTITION_PARAMETERS.

Para obter mais informações sobre os limites do sistema de arquivos, como tamanho mínimo e máximo da unidade de alocação (também chamado de tamanho do cluster), consulte Referência Técnica do NTFS e Referência Técnica fat.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vds.h
Biblioteca Uuid.lib

Confira também

IVdsAdvancedDisk::FormatPartition

IVdsDiskPartitionMF