Método IVdsVolume::SetFlags (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.]
Define os sinalizadores de volume.
Sintaxe
HRESULT SetFlags(
[in] ULONG ulFlags,
[in] BOOL bRevertOnClose
);
Parâmetros
[in] ulFlags
Os sinalizadores enumerados por VDS_VOLUME_FLAG. Os chamadores podem definir os seguintes sinalizadores:
VDS_VF_LBN_REMAP_ENABLED
VDS_VF_HIDDEN
VDS_VF_READONLY
VDS_VF_NO_DEFAULT_DRIVE_LETTER
VDS_VF_INSTALLABLE
VDS_VF_SHADOW_COPY
[in] bRevertOnClose
Se TRUE, os sinalizadores serão temporariamente definidos. O VDS redefine cada sinalizador para o estado anterior quando o chamador libera a última referência ao objeto de volume, chama IVdsVolume::ClearFlags ou desmonta o volume, exceto quando o sinalizador é definido em todo o disco (consulte a tabela na seção Comentários para obter detalhes). Quando o sinalizador é definido em todo o disco, o método IVdsVolume::ClearFlags deve ser chamado para redefinir os sinalizadores.
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 |
---|---|
|
Os sinalizadores estão definidos. |
|
O provedor não dá suporte ao sinalizador de volume VDS_VF_LBN REMAP_ENABLED . |
|
O provedor não dá suporte ao sinalizador de volume DRIVELETTER VDS_VF_NO . |
|
bRevertOnClose só deverá ser definido como true se o sinalizador de volume VDS_VF_HIDDEN ou VDS_VF_READONLY estiver definido. |
|
Alguns sinalizadores de volume já estão definidos como true. Primeiro, você deve limpar esses sinalizadores e, em seguida, chamar esse método e definir o parâmetro bRevertOnClose como true novamente. O valor retornado VDS_E_INVALID_OPERATION também pode indicar essa condição. |
Comentários
Os sinalizadores VDS_VF_READONLY, VDS_VF_HIDDEN e VDS_VF_NO_DEFAULT_DRIVE_LETTER têm escopo diferente dependendo do tipo de disco (básico ou dinâmico) e do estilo de partição (MBR ou GPT). O escopo é baseado em disco ou em volume, conforme descrito pelas seguintes condições:
- Se o disco for básico e MBR, definir um desses sinalizadores em um volume afetará o volume atual e todos os volumes futuros com o atributo especificado criado no disco.
- Se o disco for básico e GPT, dinâmico e MBR, ou dinâmico e GPT, definir um dos sinalizadores em um volume se aplicará somente a esse volume específico.
Sinalizador | Discos básicos do MBR | Discos básicos de GPT | Discos dinâmicos MBR ou GPT |
---|---|---|---|
VDS_VF_LBN_REMAP_ENABLED | Não pode ser definido. | Não pode ser definido. | Defina no volume, se houver suporte do gerenciador de volumes de terceiros. |
VDS_VF_HIDDEN | Definido em todo o disco. | Definido em volumes (somente partições de dados). | Definir em volumes. |
VDS_VF_READONLY | Definido em todo o disco. | Definido em volumes (somente partições de dados). | Definir em volumes. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER | Definido em todo o disco. | Definido em partições. | Consulte VDS_VOLUME_FLAG. |
VDS_VF_SHADOW_COPY | Definido em todo o disco. | Definido em volumes (somente partições de dados). | Definir em volumes. |
VDS_VF_INSTALLABLE | Não pode ser definido. | Não pode ser definido. | Definir em volumes. |
Se bRevertOnClose for TRUE e o disco for um disco básico MBR e o volume for excluído, os sinalizadores ainda serão definidos em todo o disco e os sinalizadores serão aplicados a todos os novos volumes criados no disco. IVdsAdvancedDisk::Clean deve ser usado para limpar os sinalizadores.
Para criar um volume de inicialização em um disco dinâmico, você deve definir o sinalizador VDS_VF_INSTALLABLE para o volume e, em seguida, formatar o volume chamando o método IVdsVolumeMF::Format .
Esse método falhará se o volume contiver um ou mais dos seguintes sinalizadores:
- VDS_VF_SYSTEM
- VDS_VF_BOOT
- VDS_VF_PAGEFILE
- VDS_VF_HIBERNATION
- VDS_VF_CRASHDUMP
Especificar VDS_VF_HIDDEN ou VDS_VF_READONLY forçará uma desmontagem e remontagem do volume, a menos que bRevertOnClose seja TRUE.
Requisitos
Requisito | Valor |
---|---|
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 |