Condividi tramite


Metodo AttachVirtualHardDisk della classe Msvm_ImageManagementService

Collega un file disco rigido virtuale in modalità loopback.

Sintassi

uint32 AttachVirtualHardDisk(
  [in]  string              Path,
  [in]  boolean             AssignDriveLetter,
  [in]  boolean             ReadOnly,
  [out] CIM_ConcreteJob REF Job
);

Parametri

Percorso [in]

Percorso completo che specifica il percorso del file del disco rigido virtuale da collegare.

AssignDriveLetter [in]

Indica se le lettere di unità vengono assegnate ai volumi del disco.

ReadOnly [in]

Indica se il disco rigido collegato deve essere di sola lettura.

Processo [out]

Se l'operazione viene eseguita in modo asincrono, questo metodo restituirà 4096 e questo parametro conterrà un riferimento a un oggetto derivato da CIM_ConcreteJob.

Valore restituito

Questo metodo restituisce uno dei valori seguenti.

Completato senza errore (0)

Parametri del metodo controllati - Processo avviato (4096)

Errore (32768)

Accesso negato (32769)

Non supportato (32770)

Lo stato è sconosciuto (32771)

Timeout (32772)

Parametro non valido (32773)

Il sistema è in uso (32774)

Stato non valido per questa operazione (32775)

Tipo di dati non corretto (32776)

Il sistema non è disponibile (32777)

Memoria insufficiente (32778)

File non trovato (32779)

Commenti

Per scollegare il disco rigido virtuale, usare il metodo Msvm_MountedStorageImage.DetachVirtualHardDisk .

L'accesso alla classe Msvm_ImageManagementService potrebbe essere limitato dal filtro dell'interfaccia utente. Per altre informazioni, vedere Controllo account utente e WMI.

Esempio

Nell'esempio C# seguente viene illustrato come collegare un file del disco rigido virtuale. Le utilità a cui si fa riferimento sono disponibili nelle utilità comuni per gli esempi di virtualizzazione (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();
}

Requisiti

Requisito Valore
Client minimo supportato
Windows 8 [solo app desktop]
Server minimo supportato
Windows Server 2012 [solo app desktop]
Spazio dei nomi
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Vedi anche

Msvm_MountedStorageImage.DetachVirtualHardDisk

Montaggio (V1)

Msvm_ImageManagementService