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.
[in] dwContext
Contexte d’installation de l’instance de produit interrogée.
[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 |
---|---|
|
Le composant est installé localement. |
|
Le composant est installé pour s’exécuter à partir de la source. |
Valeur de retour
La fonction MsiQueryComponentState retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
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. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide a été passé à la fonction. |
|
La fonction s’est terminée correctement. |
|
L’ID de composant n’identifie pas un composant connu. |
|
Le code du produit n’identifie pas un produit connu. |
|
Échecs qui ne peuvent pas être attribués à n’importe quel code d’erreur Windows. |
|
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
Fonctions de sélection du programme d’installation
non pris en charge dans Windows Installer 2.0 et versions antérieures