Méthode ResizeVirtualHardDisk de la classe Msvm_ImageManagementService
Redimensionne un disque dur virtuel existant. Le disque dur virtuel doit être hors connexion. Consultez Remarques pour connaître les restrictions d’utilisation de cette méthode.
Syntaxe
uint32 ResizeVirtualHardDisk(
[in] string Path,
[in] uint64 MaxInternalSize,
[out] CIM_ConcreteJob REF Job
);
Paramètres
-
Chemin d’accès [in]
-
Type : chaîne
Chemin complet du fichier de disque dur virtuel.
-
MaxInternalSize [in]
-
Type : uint64
Taille maximale du disque dur virtuel visible par la machine virtuelle, en octets. La valeur minimale de MaxInternalSize est DiskSize + 512 - (DiskSize mod 512). DiskSize est la taille du fichier de disque dur virtuel, en octets. L’erreur InvalidParameter (32773) est retournée si la valeur MaxInternalSize spécifiée est inférieure à la valeur minimale.
-
Travail [out]
-
Type : CIM_ConcreteJob
Si l’opération est effectuée de manière asynchrone, cette méthode retourne 4096 et ce paramètre contient une référence à un objet dérivé de CIM_ConcreteJob.
Valeur retournée
Type : uint32
Cette méthode peut retourner l’une des valeurs suivantes.
-
Terminé avec aucune erreur (0)
-
Paramètres de méthode vérifiés - Travail démarré (4096)
-
Échec (32768)
-
Accès refusé (32769)
-
Non pris en charge (32770)
-
État inconnu (32771)
-
Délai d’expiration (32772)
-
Paramètre non valide (32773)
-
Le système est en cours d’utilisation (32774)
-
État non valide pour cette opération (32775)
-
Type de données incorrect (32776)
-
Le système n’est pas disponible (32777)
-
Mémoire insuffisante (32778)
-
Fichier introuvable (32779)
Notes
Seuls les types de disques durs virtuels suivants peuvent être utilisés avec cette méthode lorsque la taille du disque dur virtuel est augmentée :
- Disque dur virtuel fixe
- VHDX corrigé
- Disque dur virtuel dynamique
- VHDX dynamique
- Différenciation du VHDX
Seuls les types de disques durs virtuels suivants peuvent être utilisés avec cette méthode lorsque la taille du disque dur virtuel est réduite :
- VHDX corrigé
- VHDX dynamique
- Différenciation du VHDX
L’accès à la classe Msvm_ImageManagementService peut être restreint par le filtrage UAC. Pour plus d’informations, consultez Contrôle de compte d’utilisateur et WMI.
Exemples
L’exemple C# suivant développe un fichier de disque dur virtuel. Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (V2).
const UInt64 size1G = 0x40000000;
public static void ResizeVirtualHardDisk(string path, UInt64 maxInternalSize)
{
ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);
ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");
ManagementBaseObject inParams = imageService.GetMethodParameters("ResizeVirtualHardDisk");
inParams["Path"] = path;
inParams["MaxInternalSize"] = maxInternalSize * size1G;
ManagementBaseObject outParams = imageService.InvokeMethod("ResizeVirtualHardDisk", inParams, null);
if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
{
if (Utility.JobCompleted(outParams, scope))
{
Console.WriteLine("{0} was resized successfully.", inParams["Path"]);
}
else
{
Console.WriteLine("Unable to resize {0}", inParams["Path"]);
}
}
outParams.Dispose();
inParams.Dispose();
imageService.Dispose();
}
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2012 [applications de bureau uniquement] |
Espace de noms |
Racine\Virtualisation\V2 |
MOF |
|
DLL |
|