MsiQueryComponentStateA, fonction (msi.h)
La fonction MsiQueryComponentState retourne l’état installé d’un composant. Cette fonction peut interroger un composant d’un 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 administratifs pour obtenir des informations sur 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 ProductCode pour le produit qui contient le composant.
[in] szUserSid
Spécifie l’identificateur de sécurité (SID) du compte sous lequel le instance du produit interrogé existe. Si dwContext n’est pas MSIINSTALLCONTEXT_MACHINE, null spécifie l’utilisateur actuel.
[in] dwContext
Le contexte d’installation du produit instance interrogé.
[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 le produit instance spécifié. Ce paramètre peut retourner l’une des valeurs suivantes ou null.
Valeur | Signification |
---|---|
|
Le composant est installé localement. |
|
Le composant est installé pour s’exécuter à partir de la source. |
Valeur retournée
La fonction MsiQueryComponentState retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
Le processus appelant doit disposer de privilèges administratifs pour obtenir des informations sur un produit installé pour un utilisateur autre que l’utilisateur actuel. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide a été transmis à la fonction. |
|
La fonction s’est terminée avec succès. |
|
L’ID de composant n’identifie pas un composant connu. |
|
Le code de produit n’identifie pas un produit connu. |
|
Échecs qui ne peuvent pas être attribués à un code d’erreur Windows. |
|
Mémoire tampon trop petite pour obtenir le SID utilisateur. |
Pour plus d’informations, consultez Messages d’erreur affichés.
Remarques
Notes
L’en-tête msi.h définit MsiQueryComponentState comme un 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.
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
Fonctions de sélection du programme d’installation