Partager via


Fonction DismEnableFeature

Active une fonctionnalité dans une image. Les fonctionnalités sont identifiées par un nom et peuvent éventuellement être liées à un package.

Syntaxe

HRESULT WINAPI DismEnableFeature(
  _In_     DismSession            Session,
  _In_     PCWSTR                 FeatureName,
  _In_opt_ PCWSTR                 Identifier,
  _In_opt_ DismPackageIdentifier  PackageIdentifier,
  _In_     BOOL                   LimitAccess,
  _In_opt_ PCWSTR                 *SourcePaths,
  _In_opt_ UINT                   SourcePathCount,
  _In_     BOOL                   EnableAll,
  _In_opt_ HANDLE                 CancelEvent,
  _In_opt_ DISM_PROGRESS_CALLBACK Progress,
  _In_opt_ PVOID                  UserData
);

Paramètres

Session [entrée]
Une DismSession valide. La DismSession doit être associée à une image. Vous pouvez associer une session à une image à l’aide de DismOpenSession.

FeatureName [in]
Nom de la fonctionnalité activée. Pour activer plusieurs fonctionnalités, séparez chaque nom de fonctionnalité par un point-virgule.

Identificateur [in, facultatif]
facultatif. Chemin d’accès absolu à un fichier .cab ou nom de package pour le package parent de la fonctionnalité à activer.

PackageIdentifier [in, facultatif]
facultatif. Valeur d’énumération DismPackageIdentifier valide. DismPackageName doit être utilisé lorsque le paramètre Identifier pointe vers un nom de package, et DismPackagePath doit être utilisé lorsque Identifier pointe vers le chemin absolu d’un fichier .cab. Si le champ Identificateur n’est pas NULL, vous devez spécifier un paramètre PackageIdentifier valide. Si le champ Identificateur a la valeur NULL, le paramètre PackageIdentifier est ignoré.

LimitAccess [in]
Ce paramètre est ignoré à partir de Windows 8.1 et Windows Server 2012 R2.

Windows 8 et Windows Server 2012 :

Valeur booléenne indiquant si Windows Update (WU) doit être contacté en tant qu’emplacement source pour le téléchargement de fichiers si aucun n’est trouvé dans d’autres emplacements spécifiés. Avant de vérifier WU, DISM case activée pour les fichiers dans les SourcesPaths fournis et dans tous les emplacements spécifiés dans le Registre par stratégie de groupe. Si les fichiers requis pour activer la fonctionnalité sont toujours présents sur l’ordinateur, cet indicateur est ignoré.

Valeur Description
TRUE Ne case activée pas WU pour les fichiers de réparation.
FALSE Par défaut. Vérifiez wu pour les fichiers de réparation.

SourcePaths [in, facultatif]
Ce paramètre est ignoré à partir de Windows 8.1 et Windows Server 2012 R2.

Windows 8 et Windows Server 2012 :

Liste des emplacements sources à case activée pour les fichiers nécessaires à l’activation de la fonctionnalité.

SourcePathCount [in, facultatif]
Ce paramètre est ignoré à partir de Windows 8.1 et Windows Server 2012 R2.

Windows 8 et Windows Server 2012 :

Nombre d’emplacements sources spécifiés.

EnableAll [in]
Activez toutes les dépendances de la fonctionnalité. Si la fonctionnalité spécifiée ou l’une de ses dépendances ne peut pas être activée, aucune d’entre elles ne sera modifiée par rapport à son état existant.

Valeur Description
TRUE Activez toutes les dépendances de la fonctionnalité.
FALSE Activez uniquement la fonctionnalité spécifiée.

CancelEvent [entrée, facultatif]
Optionnel. Vous pouvez définir un CancelEvent pour cette fonction afin d’annuler l’opération en cours lorsqu’elle est signalée par le client. Si l’événement CancelEvent est reçu à un stade où l’opération ne peut pas être annulée, l’opération continue et retourne un code de réussite. Si l’événement CancelEvent est reçu et que l’opération est annulée, l’état de l’image est inconnu. Vous devez vérifier l’état de l’image avant de continuer ou d’ignorer les modifications et de recommencer.

Progress [entrée, facultatif]
Optionnel. Pointeur vers un DismProgressCallback défini par le client.

UserData [entrée, facultatif]
Optionnel. Données personnalisées définies par l’utilisateur.

Valeur retournée

Retourne S_OK en cas de réussite.

Notes

Si la fonctionnalité est présente dans le package de base, vous n’avez pas besoin de spécifier d’informations sur le package. Si la fonctionnalité se trouve dans un package ou un pack de fonctionnalités facultatif qui a déjà été installé dans l’image, spécifiez un nom de package dans le paramètre Identifier et spécifiez DismPackageName comme PackageIdentifier. Si la fonctionnalité ne peut pas être activée en raison de la fonctionnalité parente non activée, un code d’erreur spécial est retourné. Vous pouvez utiliser EnableAll pour activer les fonctionnalités parentes lorsque vous activez les fonctionnalités spécifiées, ou vous pouvez utiliser DismGetFeatureParent pour énumérer les fonctionnalités parentes et les activer en premier.

Important

Si la fonctionnalité à activer n’est pas un composant du package de base, vous devez ajouter le package facultatif parent avec DismAddPackage avant d’activer la fonctionnalité. Ne spécifiez pas le chemin d’accès à un fichier .cab d’un package facultatif qui n’a pas été ajouté à l’image dans le paramètre Identifier . Si vous spécifiez un package qui n’a pas été ajouté et que vous spécifiez DismPackagePath comme PackageIdentifier, la fonction se termine correctement, mais la fonctionnalité ne sera pas activée.

Notes

LimitAccess, SourcePaths, SourcePathCount et EnableAll sont uniquement pris en charge sur Windows 8 et Windows Server 2012.

Exemple

HRESULT hr = S_OK;
hr = DismEnableFeature(Session, “WindowsMediaPlayer”, NULL, PackageNone, TRUE, NULL, 0, FALSE, NULL, NULL, NULL);

Spécifications

Condition requise Description
Plateformes hôtes prises en charge L’API DISM peut être utilisée sur n’importe quel système d’exploitation pris en charge par le Kit de déploiement et d’évaluation Windows (Windows ADK). Pour plus d’informations, consultez les Informations de référence technique Windows ADK.
Plateformes d’images prises en charge Windows 7, Windows Server 2008 R2, Windows PE 3.0, Windows 8, Windows Server 2012, environnement de préinstallation Windows (Windows PE) 4.0, Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
En-tête DismAPI.h
Bibliothèque DismAPI.lib
DLL DismAPI.dll

Voir aussi

DismAddPackage

DismDisableFeature

DismGetFeatures

DismGetFeatureInfo