Méthode IVdsVolume ::SetFlags (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.]
Définit les indicateurs de volume.
Syntaxe
HRESULT SetFlags(
[in] ULONG ulFlags,
[in] BOOL bRevertOnClose
);
Paramètres
[in] ulFlags
Indicateurs énumérés par VDS_VOLUME_FLAG. Les appelants peuvent définir les indicateurs suivants :
VDS_VF_LBN_REMAP_ENABLED
VDS_VF_HIDDEN
VDS_VF_READONLY
VDS_VF_NO_DEFAULT_DRIVE_LETTER
VDS_VF_INSTALLABLE
VDS_VF_SHADOW_COPY
[in] bRevertOnClose
Si la valeur est TRUE, les indicateurs sont temporairement définis. VDS réinitialise chaque indicateur à l’état précédent lorsque l’appelant libère la dernière référence à l’objet de volume, appelle IVdsVolume ::ClearFlags ou démonte le volume, sauf lorsque l’indicateur est défini sur l’ensemble du disque (voir le tableau de la section Remarques pour plus d’informations). Lorsque l’indicateur est défini sur l’ensemble du disque, la méthode IVdsVolume ::ClearFlags doit être appelée pour réinitialiser les indicateurs.
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 |
---|---|
|
Les indicateurs sont définis. |
|
Le fournisseur ne prend pas en charge l’indicateur de volume VDS_VF_LBN REMAP_ENABLED . |
|
Le fournisseur ne prend pas en charge l’indicateur de volume DRIVELETTER VDS_VF_NO . |
|
bRevertOnClose doit être défini sur true uniquement si l’indicateur de volume VDS_VF_HIDDEN ou VDS_VF_READONLY est défini. |
|
Certains indicateurs de volume sont déjà définis sur true. Vous devez d’abord effacer ces indicateurs, puis appeler cette méthode et définir à nouveau le paramètre bRevertOnClose sur true. La valeur de retour VDS_E_INVALID_OPERATION peut également indiquer cette condition. |
Remarques
L’étendue des indicateurs VDS_VF_READONLY, VDS_VF_HIDDEN et VDS_VF_NO_DEFAULT_DRIVE_LETTER varie selon le type de disque (de base ou dynamique) et le style de partition (MBR ou GPT). L’étendue est basée sur disque ou sur volume, comme décrit par les conditions suivantes :
- Si le disque est de base et MBR, la définition de l’un de ces indicateurs sur un volume affecte le volume actuel et tous les volumes futurs avec l’attribut spécifié créé sur le disque.
- Si le disque est de base et gpT, dynamique et MBR, ou dynamique et GPT, la définition de l’un des indicateurs sur un volume s’applique uniquement à ce volume spécifique.
Indicateur | Disques de base MBR | Disques de base GPT | Disques dynamiques MBR ou GPT |
---|---|---|---|
VDS_VF_LBN_REMAP_ENABLED | Ne peut pas être définie. | Ne peut pas être définie. | Défini sur le volume, s’il est pris en charge par un gestionnaire de volumes tiers. |
VDS_VF_HIDDEN | Défini sur l’ensemble du disque. | Défini sur les volumes (partitions de données uniquement). | Défini sur les volumes. |
VDS_VF_READONLY | Défini sur l’ensemble du disque. | Défini sur les volumes (partitions de données uniquement). | Défini sur les volumes. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER | Défini sur l’ensemble du disque. | Défini sur les partitions. | Voir VDS_VOLUME_FLAG. |
VDS_VF_SHADOW_COPY | Défini sur l’ensemble du disque. | Défini sur les volumes (partitions de données uniquement). | Défini sur les volumes. |
VDS_VF_INSTALLABLE | Ne peut pas être définie. | Ne peut pas être définie. | Défini sur les volumes. |
Si bRevertOnClose a la valeur TRUE et que le disque est un disque de base MBR et que le volume est ensuite supprimé, les indicateurs sont toujours définis sur l’ensemble du disque et les indicateurs s’appliquent à tous les nouveaux volumes créés sur le disque. Les IVdsAdvancedDisk ::Clean doivent ensuite être utilisés pour effacer les indicateurs.
Pour créer un volume de démarrage sur un disque dynamique, vous devez définir l’indicateur VDS_VF_INSTALLABLE pour le volume, puis mettre en forme le volume en appelant la méthode IVdsVolumeMF ::Format .
Cette méthode échoue si le volume contient un ou plusieurs des indicateurs suivants :
- VDS_VF_SYSTEM
- VDS_VF_BOOT
- VDS_VF_PAGEFILE
- VDS_VF_HIBERNATION
- VDS_VF_CRASHDUMP
La spécification d’un VDS_VF_HIDDEN ou d’un VDS_VF_READONLY force le démontage et la remontage du volume, sauf si bRevertOnClose a la valeur TRUE.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | vds.h |
Bibliothèque | Uuid.lib |