Partager via


MsiQueryComponentStateA, fonction (msi.h)

La fonction MsiQueryComponentState retourne l’état installé d’un composant. Cette fonction peut interroger un composant d’une instance d’un produit installé sous des comptes d’utilisateur autres que l’utilisateur actuel, à condition que le produit ne soit pas publié dans le contexte non managé par utilisateur pour un compte d’utilisateur autre que l’utilisateur actuel. Le processus appelant doit disposer de privilèges d’administration pour obtenir des informations pour un produit installé pour un utilisateur autre que l’utilisateur actuel.

Syntaxe

UINT MsiQueryComponentStateA(
  [in]  LPCSTR            szProductCode,
  [in]  LPCSTR            szUserSid,
  [in]  MSIINSTALLCONTEXT dwContext,
  [in]  LPCSTR            szComponentCode,
  [out] INSTALLSTATE      *pdwState
);

Paramètres

[in] szProductCode

Spécifie le GUID de ProductCode du produit qui contient le composant.

[in] szUserSid

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

Type de SID Signification
NULL
NULL indique l’utilisateur actuellement connecté.
SID utilisateur
Spécifie l’énumération d’un utilisateur particulier dans le système. Un exemple de SID utilisateur est « S-1-3-64-2415071341-135809878-3127455600-2561 ».
 
Remarque La chaîne SID spéciale « S-1-5-18 » (système) ne peut pas être utilisée pour énumérer les produits installés en tant que machine. Si dwContext est MSIINSTALLCONTEXT_MACHINE, szUserSid doit être null.
 

[in] dwContext

Contexte d’installation de l’instance de produit interrogée.

Nom Signification
MSIINSTALLCONTEXT_USERMANAGED
Récupère l’état du composant pour l’instance gérée par utilisateur du produit.
MSIINSTALLCONTEXT_USERUNMANAGED
Récupère l’état du composant pour l’instance par utilisateur non gérée du produit.
MSIINSTALLCONTEXT_MACHINE
Récupère l’état du composant pour l’instance par ordinateur du produit.

[in] szComponentCode

Spécifie le composant interrogé. GUID de code de composant du composant tel qu’il se trouve dans la colonne ComponentID de la table Component.

[out] pdwState

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

Valeur Signification
INSTALLSTATE_LOCAL
Le composant est installé localement.
INSTALLSTATE_SOURCE
Le composant est installé pour s’exécuter à partir de la source.

Valeur de retour

La fonction MsiQueryComponentState retourne les valeurs suivantes.

Valeur Signification
ERROR_ACCESS_DENIED
Le processus appelant doit disposer de privilèges d’administration pour obtenir des informations pour 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é passé à la fonction.
ERROR_SUCCESS
La fonction s’est terminée correctement.
ERROR_UNKNOWN_COMPONENT
L’ID de composant n’identifie pas un composant connu.
ERROR_UNKNOWN_PRODUCT
Le code du produit n’identifie pas un produit connu.
ERROR_FUNCTION_FAILED
Échecs qui ne peuvent pas être attribués à n’importe quel code d’erreur Windows.
ERROR_MORE_DATA
Mémoire tampon trop petite pour obtenir le SID utilisateur.
 

Pour plus d’informations, consultez Afficher les messages d’erreur.

Remarques

Note

L’en-tête msi.h définit MsiQueryComponentState 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum 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. Consultez la configuration requise de Windows Installer Run-Time pour plus d’informations sur le service pack Windows minimal requis par une version de Windows Installer.
plateforme cible Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

composant

messages d’erreur affichés

Fonctions de sélection du programme d’installation

non pris en charge dans Windows Installer 2.0 et versions antérieures

ProductCode