Compartilhar via


Método IVdsAdvancedDisk::Clean (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.]

Remove informações de partição e não inicializa discos básicos ou dinâmicos.

Windows Server 2003: Não há suporte para o método Clean para dispositivos removíveis.

Sintaxe

HRESULT Clean(
  [in]  BOOL      bForce,
  [in]  BOOL      bForceOEM,
  [in]  BOOL      bFullClean,
  [out] IVdsAsync **ppAsync
);

Parâmetros

[in] bForce

Se TRUE, limpará um disco que contém volumes de dados ou partições ESP.

[in] bForceOEM

Se TRUE, limpa um disco baseado em MBR que contém as partições OEM conhecidas na tabela a seguir ou limpa um disco baseado em GPT que contém qualquer partição OEM. Uma partição OEM tem o sinalizador GPT_ATTRIBUTE_PLATFORM_REQUIRED definido em um disco baseado em GPT.

Tipo de partição Descrição
0x12 Uma partição EISA.
0x84 Uma partição de hibernação para laptops.
0xA0 Uma partição de diagnóstico para alguns laptops HP.
0xDE Uma partição definida pela Dell.
0xFE Uma partição IBM IML.

[in] bFullClean

Se TRUE, limpa todo o disco substituindo os dados em cada setor por zeros; caso contrário, esse método limpa apenas o primeiro e os últimos megabytes no disco.

[out] ppAsync

O endereço de um ponteiro para o ponteiro da interface IVdsAsync , que o VDS inicializa no retorno. Os chamadores devem liberar a interface. Use esse ponteiro para cancelar, aguardar ou consultar o status da operação.

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
Os dados foram removidos com êxito e o disco não foi inicializado.
VDS_E_NO_MEDIA
0x80042412L
Não há mídia no dispositivo removível.
VDS_E_MISSING_DISK
0x80042454L
O disco está ausente.
VDS_E_OPERATION_DENIED
0x8004240AL
A operação falhou em uma das seguintes condições:
  • O disco contém uma partição OEM e bForceOEM é falso.
  • O disco contém um volume ou partição ESP e bForce é FALSE.
  • O disco contém um dos volumes do sistema, independentemente de bForce ser TRUE ou FALSE. Um volume do sistema pode ser qualquer um dos seguintes itens:
    • Um volume que contém o carregador do sistema operacional.
    • Um volume de inicialização, que contém o diretório system32.
    • Um volume que contém o arquivo de página ou o arquivo de hibernação ou um volume usado como um despejo de memória.
    • Uma partição ESP (a partição da qual o sistema é inicializado).
VDS_S_DISK_PARTIALLY_CLEANED
0x0004241AL
A tabela de partição é limpa, mas nem todos os setores são limpos durante uma limpeza completa. Como alternativa, alguns setores do primeiro megabyte e do último megabyte são limpos; no entanto, a menos que a limpeza seja totalmente limpa, os setores restantes não serão limpos.

Comentários

Antes de chamar esse método, o chamador deve desmontar todos os volumes montados no disco chamando IVdsVolumeMF::D ismount para cada volume.

Use o parâmetro bForce , o parâmetro bForceOEM ou ambos com esse método, a menos que você exclua primeiro todos os volumes de dados, partições OEM conhecidas e partições ESP no disco. Esse requisito exclui partições de metadados, como o MSR, a partição de metadados LDM e partições OEM desconhecidas.

Windows Server 2003: Não há suporte para o método Clean para dispositivos removíveis.

Os implementadores devem retornar um ponteiro para a interface IVdsAsync para esse método, independentemente de a chamada iniciar uma operação assíncrona.

Requisitos

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

Confira também

Objeto Disk

IVdsAdvancedDisk

IVdsAsync