IVdsCreatePartitionEx ::CreatePartitionEx, méthode (vds.h)
[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API gestion du stockage Windows.]
Crée une partition sur un disque de base.
Cette méthode remplace la méthode IVdsAdvancedDisk ::CreatePartition .
Syntaxe
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
Paramètres
[in] ullOffset
Décalage de partition, en octets. Si le décalage n’est pas aligné et que le paramètre ulAlign n’est pas spécifié, le décalage est arrondi à la limite d’alignement la plus proche en fonction de la taille du disque sur lequel la partition est créée. Pour plus d'informations, consultez la section Notes qui suit.
Windows Server 2003 : Seule la première partition sur un disque de base peut être alignée ; les disques dynamiques ne peuvent pas être alignés. Pour les autres partitions sur un disque de base, vous ne pouvez pas spécifier l’alignement à l’aide du paramètre ulAlign ; Le décalage est arrondi à la limite de cylindre la plus proche pour les disques d’enregistrement de démarrage principal (MBR) ou à la limite de secteur la plus proche pour les disques GPT (GUID Partition Table).
Lorsque l’appelant spécifie les paramètres ullOffset et ulAlign , le décalage doit se trouver dans le premier cylindre.
[in] ullSize
Taille, en octets, de la nouvelle partition.
[in] ulAlign
Taille de l’alignement, en octets.
Windows Server 2003 : Si ce paramètre est spécifié, le fournisseur arrondit le décalage de partition à la limite d’alignement la plus proche ; dans le cas contraire, jusqu’à la limite du cylindre la plus proche.
Si le début d’un disque a suffisamment d’espace pour prendre en charge la taille de la partition et que le paramètre ulAlign est spécifié, mais que le paramètre ullOffset ne l’est pas, l’appel à CreatePartitionEx échoue.
[in] para
Pointeur vers les paramètres définis par la structure CREATE_PARTITION_PARAMETERS .
[out] ppAsync
Adresse d’un pointeur d’interface IVdsAsync , que VDS initialise au retour. Les appelants doivent libérer l’interface. Utilisez ce pointeur pour annuler, attendre ou interroger le status de l’opération.
Valeur retournée
Cette méthode peut retourner des valeurs HRESULT standard, telles que E_INVALIDARG ou E_OUTOFMEMORY, et des valeurs de retour spécifiques à VDS. Il peut également retourner des codes d’erreur système convertis à l’aide de la macro HRESULT_FROM_WIN32 . Les erreurs peuvent provenir de VDS lui-même ou du fournisseur VDS sous-jacent utilisé. Les valeurs de retour possibles sont les suivantes.
Code/valeur de retour | Description |
---|---|
|
La partition a été créée avec succès. |
|
Il n’y a pas de média dans un lecteur amovible. |
|
Impossible de créer la partition, car le disque est en lecture seule. |
|
Le média ne prend pas en charge cette opération. Par exemple, l’appelant ne peut pas créer une partition sur un CD-ROM. |
|
La création d’une deuxième partition sur un support amovible n’est pas prise en charge. Cette erreur indique également que le disque est un disque dynamique. |
|
Le nombre maximal de partitions (partitions principales ou partitions primaires avec une partition étendue) existe déjà lorsque l’appelant tente de créer une partition principale ou une partition étendue supplémentaire. |
|
La partition a été créée avec succès, mais VDS n’a pas pu mettre à jour les options de démarrage dans le magasin de données de configuration de démarrage (BCD).
Windows Server 2003 : Les options de démarrage sont stockées dans le fichier boot.ini sur un système x86 ou x64 ou nvRAM sur un système Itanium. |
Remarques
Cette méthode fonctionne sur les disques de base ayant un schéma de partition GPT ou MBR.
Windows Server 2003 : Les appelants peuvent aligner uniquement la première partition d’un disque MBR et doivent placer le décalage de départ dans le premier cylindre ou le début du deuxième cylindre, à la limite du cylindre.
Si le paramètre ullOffset est spécifié et que sa valeur n’est pas déjà alignée à l’aide des valeurs sous la sous-clé de Registre HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vds\Alignment , sa valeur est alignée automatiquement à l’aide des valeurs suivantes : L’alignement par défaut est de 1 Mo si le disque est de 4 Go ou plus, ou de 64 Ko si le disque est inférieur à 4 Go.
Windows Server 2003 : Les décalages de partition non alignés sont arrondis à la limite de cylindre la plus proche pour les disques MBR, ou à la limite de secteur la plus proche pour les disques GPT.
Si un disque dynamique est en lecture seule et hors connexion, il doit être mis en lecture/écriture et mis en ligne comme suit avant d’appeler CreatePartitionEx :
- Effacez le bit en lecture seule. (Il s’agit de l’indicateur VDS_DF_READ_ONLY dans la structure VDS_DISK_PROP .)
- Appelez la méthode IVdsDiskOnline ::Online .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | vds.h |
Bibliothèque | Uuid.lib |