Método AttachVirtualHardDisk da classe Msvm_ImageManagementService
Anexa um arquivo de disco rígido virtual no modo de loopback.
Sintaxe
uint32 AttachVirtualHardDisk(
[in] string Path,
[in] boolean AssignDriveLetter,
[in] boolean ReadOnly,
[out] CIM_ConcreteJob REF Job
);
Parâmetros
-
Caminho [in]
-
Um caminho totalmente qualificado que especifica o local do arquivo de disco rígido virtual a ser anexado.
-
AssignDriveLetter [in]
-
Indica se as letras da unidade são atribuídas aos volumes do disco.
-
ReadOnly [in]
-
Indica se o disco rígido anexado deve ser somente leitura.
-
Trabalho [out]
-
Se a operação for executada de forma assíncrona, esse método retornará 4096 e esse parâmetro conterá uma referência a um objeto derivado de CIM_ConcreteJob.
Valor retornado
Esse método retorna um dos valores a seguir.
-
Concluído sem erro (0)
-
Parâmetros de método verificados – Trabalho iniciado (4096)
-
Falha (32768)
-
Acesso negado (32769)
-
Sem suporte (32770)
-
O status é desconhecido (32771)
-
Tempo limite (32772)
-
Parâmetro inválido (32773)
-
O sistema está em uso (32774)
-
Estado inválido para esta operação (32775)
-
Tipo de dados incorreto (32776)
-
O sistema não está disponível (32777)
-
Sem memória (32778)
-
Arquivo não encontrado (32779)
Comentários
Para desanexar o disco rígido virtual, use o método Msvm_MountedStorageImage.DetachVirtualHardDisk .
O acesso à classe Msvm_ImageManagementService pode ser restrito pela Filtragem UAC. Para obter mais informações, consulte Controle de Conta de Usuário e WMI.
Exemplos
O exemplo de C# a seguir mostra como anexar um arquivo de disco rígido virtual. Os utilitários referenciados podem ser encontrados em utilitários comuns para os exemplos de virtualização (V2).
public static void AttachVirtualHardDisk(string path)
{
ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);
ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");
ManagementBaseObject inParams = imageService.GetMethodParameters("AttachVirtualHardDisk");
inParams["Path"] = path;
inParams["AssignDriveLetter"] = true;
inParams["ReadOnly"] = false;
ManagementBaseObject outParams = imageService.InvokeMethod("AttachVirtualHardDisk", inParams, null);
if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
{
if (Utility.JobCompleted(outParams, scope))
{
Console.WriteLine("{0} was attached successfully.", inParams["Path"]);
}
else
{
Console.WriteLine("Unable to attach {0}", inParams["Path"]);
}
}
outParams.Dispose();
inParams.Dispose();
imageService.Dispose();
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2012 [somente aplicativos da área de trabalho] |
Namespace |
Root\Virtualization\V2 |
MOF |
|
DLL |
|