Share via


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
S_OK
La partition a été créée avec succès.
VDS_E_NO_MEDIA
0x80042412L
Il n’y a pas de média dans un lecteur amovible.
VDS_E_DISK_IS_READ_ONLY
0x8004280BL
Impossible de créer la partition, car le disque est en lecture seule.
VDS_E_INVALID_OPERATION
0x80042415L
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.
VDS_E_NOT_SUPPORTED
0x80042400L
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.
VDS_E_PARTITION_LIMIT_REACHED
0x80042407L
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.
VDS_S_UPDATE_BOOTFILE_FAILED
0x00042434L
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 :

  1. Effacez le bit en lecture seule. (Il s’agit de l’indicateur VDS_DF_READ_ONLY dans la structure VDS_DISK_PROP .)
  2. 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

Voir aussi

IVdsAdvancedDisk ::CreatePartition

IVdsAsync

IVdsCreatePartitionEx