Método IVdsVolumeMF2::FormatEx (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 um volume do sistema de arquivos em uma partição.

Sintaxe

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

Cadeia de caracteres Unicode terminada em nulo que contém o nome do sistema de arquivos com o qual formatar o volume. Esse parâmetro pode ser NULL ou o nome de um sistema de arquivos do Windows. Há suporte para os seguintes sistemas de arquivos: "NTFS", "FAT", "FAT32", "UDF" e "EXFAT". Se esse parâmetro for NULL, o sistema de arquivos padrão será usado. Para obter mais informações, consulte VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG.

[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. 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 o volume do 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.

Retornar código/valor Descrição
S_OK
0x000000000L
O sistema de arquivos foi formatado com êxito.
VDS_E_OPERATION_DENIED
0x8004240AL
A operação será negada se o chamador tentar formatar o sistema, a inicialização, o carimbo de memória, a hibernação ou o volume de pagefile.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
O volume falhou.
VDS_E_PACK_OFFLINE
0x80042444L
O pacote que contém o volume não está acessível. Todos os volumes em um pacote offline são inacessíveis.
VDS_E_FS_NOT_DETERMINED
0x80042593L
Não foi possível determinar o sistema de arquivos padrão.
 

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

Retornar código/valor Descriçã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_ACCESS_DENIED
0x80042427L
Acesso negado.
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
A mídia é protegida por gravação.
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_IO_ERROR
0x8004242BL
Ocorreu um erro de E/S durante o formato.
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
O tamanho do volume é muito pequeno para formatar.
VDS_E_VOLUME_TOO_BIG
0x8004242DL
O tamanho do volume é muito grande para formatar.
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
O tamanho do cluster é muito pequeno para permitir a formatação.
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
O tamanho do cluster é muito grande para permitir a formatação.
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
O número de clusters é muito grande para ser representado como um inteiro de 32 bits.
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
O sistema de arquivos é formatado, mas não compactado.
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
Não foi possível desabilitar a criptografia do BitLocker para o volume.

Comentários

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.

Se esse método for chamado para um volume protegido pela criptografia de volume completo do BitLocker, a criptografia BitLocker será desabilitada para o volume até que o usuário a habilite novamente.

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

   
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

IVdsVolumeMF2