Método IVdsPack::MigrateDisks (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.]
Migra um conjunto de discos de um pacote para outro.
Sintaxe
HRESULT MigrateDisks(
[in] VDS_OBJECT_ID *pDiskArray,
[in] LONG lNumberOfDisks,
[in] VDS_OBJECT_ID TargetPack,
[in] BOOL bForce,
[in] BOOL bQueryOnly,
[out] HRESULT *pResults,
[out] BOOL *pbRebootNeeded
);
Parâmetros
[in] pDiskArray
Um ponteiro para uma matriz de GUIDs; um para cada disco.
[in] lNumberOfDisks
O número de discos a serem migrados.
[in] TargetPack
O GUID do objeto pack.
[in] bForce
Se esse parâmetro for definido como TRUE, o VDS ignorará todos os erros desse método e tentará migrar os discos incondicionalmente. Se estiver definido como FALSE, a operação não continuará. Em alguns casos, uma migração forçada pode causar perda de dados.
[in] bQueryOnly
Se esse parâmetro for definido como TRUE, a migração não ocorrerá. Se estiver definido como FALSE, a operação continuará.
[out] pResults
O endereço de uma matriz alocada pelo chamador de valores HRESULT . O número de elementos na matriz é lNumberOfDisks.
Se um disco puder ser migrado ou migrado com êxito, o elemento de matriz correspondente receberá S_OK; caso contrário, ele recebe o código de aviso ou o código de erro que foi retornado pelo provedor. Para obter a lista de códigos de resultado adicionais, consulte Valores retornados.
[out] pbRebootNeeded
Se esse parâmetro for definido como TRUE, você deverá reiniciar o computador para concluir a operação. Se estiver definido como FALSE, a operação será concluída sem reiniciar.
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 ser originados do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.
Código/valor de retorno | Descrição |
---|---|
|
A migração foi concluída com êxito. |
|
Pelo menos um dos discos não pode ser convertido ou pode ser convertido com aviso. |
|
Um dos discos não está disponível. |
|
Foi feita uma tentativa de importar um subconjunto dos discos no pacote externo. |
Os seguintes avisos e erros podem ser retornados por meio de pResults:
Código/valor de retorno | Descrição |
---|---|
|
O número de partição da partição de inicialização foi alterado como resultado da operação de migração. |
|
O disco selecionado não tem espaço livre suficiente para concluir a operação. |
|
Uma partição ativa foi detectada no disco selecionado e não é a partição ativa usada para inicializar o sistema operacional ativo. |
|
As informações de partição não podem ser lidas. |
|
Uma partição com um tipo desconhecido foi detectada no disco selecionado. |
|
O disco GPT selecionado contém uma partição de dados não básica, que é precedida e seguida por uma ou mais partições de dados básicas. |
|
Um volume no disco selecionado não pode ser aberto. |
Comentários
O VDS implementa esse método.
Um único pacote pode ter apenas um disco básico. Dessa forma, você pode migrar apenas um disco por vez entre um pacote básico e dinâmico.
Você deve forçar essa operação ao converter um disco básico em formato de disco dinâmico e o final do disco não tem espaço suficiente para o banco de dados LDM. Defina o parâmetro bForce como true e force a operação, apesar da limitação de espaço. Da mesma forma, se uma partição OEM estiver no meio de um disco MBR com espaço livre ou volumes de dados em ambos os lados.
Depois de migrar discos dinâmicos para um pacote dinâmico, você deve usar o método IVdsPack::GetProperties para determinar se o pacote de origem ou destino agora é o pacote online.
Para obter informações sobre como usar o método MigrateDisks para adicionar discos estrangeiros a um pacote, consulte Adicionando discos estrangeiros a um pacote.
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 |