MsiQueryFeatureStateExA, fonction (msi.h)

La fonction MsiQueryFeatureStateEx retourne l’état installé pour une fonctionnalité de produit. Cette fonction peut être utilisée pour interroger n’importe quelle fonctionnalité d’un instance d’un produit installé sous le compte d’ordinateur ou tout contexte sous le compte d’utilisateur actuel ou le contexte géré par utilisateur sous n’importe quel compte d’utilisateur autre que l’utilisateur actuel. Un utilisateur doit disposer de privilèges administratifs pour obtenir des informations sur un produit installé pour un utilisateur autre que l’utilisateur actuel.

Syntaxe

UINT MsiQueryFeatureStateExA(
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szFeature,
  [out, optional] INSTALLSTATE      *pdwState
);

Paramètres

[in] szProductCode

ProductCode GUID du produit qui contient la fonctionnalité d’intérêt.

[in] szUserSid

Spécifie l’identificateur de sécurité (SID) du compte, sous lequel existe le instance du produit interrogé. Si dwContext n’est pas MSIINSTALLCONTEXT_MACHINE, une valeur Null spécifie l’utilisateur actuel.

Type de SID Signification
NULL
NULL désigne l’utilisateur actuellement connecté.
SID de l’utilisateur
Spécifie l’énumération pour un utilisateur particulier dans le système. Un exemple de SID utilisateur est « S-1-3-64-2415071341-1358098788-3127455600-2561 ».
 
Note La chaîne SID spéciale s-1-5-18 (système) ne peut pas être utilisée pour énumérer les fonctionnalités des produits installés par ordinateur. Si dwContext est MSIINSTALLCONTEXT_MACHINE, szUserSid doit avoir la valeur Null.
 

[in] dwContext

Le contexte d’installation du produit instance interrogé.

Nom Signification
MSIINSTALLCONTEXT_USERMANAGED
Récupère l’état des fonctionnalités pour les instance gérées par utilisateur du produit.
MSIINSTALLCONTEXT_USERUNMANAGED
Récupère l’état des fonctionnalités pour les instance non managées par utilisateur du produit.
Note Lorsque la requête est effectuée sur un produit installé dans le contexte non managé par utilisateur pour un compte d’utilisateur autre que l’utilisateur actuel, la fonction échoue.
 
MSIINSTALLCONTEXT_MACHINE
Récupère l’état des fonctionnalités pour le instance par ordinateur du produit.

[in] szFeature

Spécifie la fonctionnalité interrogée. Identificateur de la fonctionnalité, tel qu’il se trouve dans la colonne Fonctionnalité de la table Fonctionnalité.

[out, optional] pdwState

État d’installation de la fonctionnalité pour le produit instance spécifié. Ce paramètre peut retourner l’une des valeurs suivantes ou null.

Valeur Signification
INSTALLSTATE_ADVERTISED
Cette fonctionnalité est annoncée.
INSTALLSTATE_LOCAL
La fonctionnalité est installée localement.
INSTALLSTATE_SOURCE
La fonctionnalité est installée de manière à s’exécuter à partir de la source.

Valeur retournée

La fonction MsiQueryFeatureStateEx retourne les valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
Un utilisateur doit disposer de privilèges administratifs pour obtenir des informations sur un produit installé pour un utilisateur autre que l’utilisateur actuel.
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_SUCCESS
La fonction s’est terminée avec succès.
ERROR_UNKNOWN_FEATURE
L’ID de fonctionnalité n’identifie pas une fonctionnalité connue.
ERROR_UNKNOWN_PRODUCT
Le code de produit n’identifie pas un produit connu.
ERROR_FUNCTION_FAILED
Défaillance interne inattendue.
 

Pour plus d’informations, consultez Messages d’erreur affichés.

Remarques

La fonction MsiQueryFeatureStateEx ne valide pas que la fonctionnalité est réellement accessible. La fonction MsiQueryFeatureStateEx ne valide pas l’ID de fonctionnalité. ERROR_UNKNOWN_FEATURE est retourné pour tout ID de fonctionnalité inconnu. Lorsque la requête est effectuée sur un produit installé dans le contexte non managé par utilisateur pour un compte d’utilisateur autre que l’utilisateur actuel, la fonction échoue. Dans ce cas, la fonction retourne ERROR_UNKNOWN_FEATURE, ou si le produit est publié uniquement (pas installé), ERROR_UNKNOWN_PRODUCT est retourné.

Notes

L’en-tête msi.h définit MsiQueryFeatureStateEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Pour plus d’informations sur le Service Pack Windows requis par une version de Windows Installer, consultez Configuration requise pour le runtime Windows.
Plateforme cible Windows
En-tête msi.h
Bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

Messages d’erreur affichés

Table Feature

MsiQueryFeatureState

Non pris en charge par Windows Installer 2.0 et antérieur

ProductCode

Fonctions d’état du système