Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |
|