Método AttachVirtualHardDisk de la clase Msvm_ImageManagementService
Conecta un archivo de disco duro virtual en modo de bucle invertido.
Sintaxis
uint32 AttachVirtualHardDisk(
[in] string Path,
[in] boolean AssignDriveLetter,
[in] boolean ReadOnly,
[out] CIM_ConcreteJob REF Job
);
Parámetros
-
Ruta de acceso [in]
-
Ruta de acceso completa que especifica la ubicación del archivo de disco duro virtual que se va a conectar.
-
AssignDriveLetter [in]
-
Indica si se asignan letras de unidad a los volúmenes del disco.
-
ReadOnly [in]
-
Indica si el disco duro conectado debe ser de solo lectura.
-
Trabajo [salida]
-
Si la operación se realiza de forma asincrónica, este método devolverá 4096 y este parámetro contendrá una referencia a un objeto derivado de CIM_ConcreteJob.
Valor devuelto
Este método devuelve uno de los valores siguientes.
-
Completado sin error (0)
-
Parámetros de método comprobados: trabajo iniciado (4096)
-
Error (32768)
-
Acceso denegado (32769)
-
No compatible (32770)
-
El estado es desconocido (32771)
-
Tiempo de espera (32772)
-
Parámetro no válido (32773)
-
El sistema está en uso (32774)
-
Estado no válido para esta operación (32775)
-
Tipo de datos incorrecto (32776)
-
El sistema no está disponible (32777)
-
Memoria insuficiente (32778)
-
Archivo no encontrado (32779)
Comentarios
Para desasociar el disco duro virtual, use el método Msvm_MountedStorageImage.DetachVirtualHardDisk .
El filtrado UAC puede restringir el acceso a la clase Msvm_ImageManagementService . Para obtener más información, consulte Control de cuentas de usuario y WMI.
Ejemplos
En el ejemplo de C# siguiente se muestra cómo conectar un archivo de disco duro virtual. Las utilidades a las que se hace referencia se pueden encontrar en Utilidades comunes para los ejemplos de virtualización (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 | Value |
---|---|
Cliente mínimo compatible |
Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2012 [solo aplicaciones de escritorio] |
Espacio de nombres |
Root\Virtualization\V2 |
MOF |
|
Archivo DLL |
|