MsiGetComponentPathExA, fonction (msi.h)
La fonction MsiGetComponentPathEx retourne le chemin complet d’un composant installé. Si le chemin de clé du composant est une clé de Registre, la fonction retourne la clé de Registre.
Cette fonction étend la fonction MsiGetComponentPath existante pour permettre la recherche de composants dans les comptes d’utilisateur et les contextes d’installation.
Syntaxe
INSTALLSTATE MsiGetComponentPathExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szComponentCode,
[in, optional] LPCSTR szUserSid,
[in, optional] MSIINSTALLCONTEXT dwContext,
[out, optional] LPSTR lpOutPathBuffer,
[in, out, optional] LPDWORD pcchOutPathBuffer
);
Paramètres
[in] szProductCode
Valeur de chaîne terminée par null qui spécifie le GUID du code de produit d’une application. La fonction obtient le chemin d’accès des composants installés utilisés par cette application.
[in] szComponentCode
Valeur de chaîne terminée par null qui spécifie un GUID de code de composant. La fonction obtient le chemin d’accès d’un composant installé ayant ce code de composant.
[in, optional] szUserSid
Valeur de chaîne terminée par null qui spécifie l’identificateur de sécurité (SID) d’un utilisateur dans le système. La fonction obtient les chemins d’accès des composants installés d’applications installés sous les comptes d’utilisateur identifiés par ce SID. La chaîne SID spéciale s-1-1-0 (Tout le monde) spécifie tous les utilisateurs du système. Si ce paramètre est NULL, la fonction obtient le chemin d’accès d’un composant installé pour l’utilisateur actuellement connecté uniquement.
[in, optional] dwContext
Indicateur qui spécifie le contexte d’installation. La fonction obtient les chemins d’accès des composants installés d’applications installés dans le contexte d’installation spécifié. Ce paramètre peut être une combinaison des valeurs suivantes.
[out, optional] lpOutPathBuffer
Valeur de chaîne qui reçoit le chemin d’accès au composant. Ce paramètre peut être NULL. Si le composant est une clé de Registre, les racines du Registre sont représentées numériquement. S’il s’agit d’un chemin de sous-clé de Registre, il existe une barre oblique inverse à la fin du chemin de clé. S’il s’agit d’un chemin de clé de valeur de Registre, il n’y a pas de barre oblique inverse à la fin. Par exemple, un chemin d’accès au Registre sur un système d’exploitation 32 bits de HKEY_CURRENT_USER\SOFTWARE\Microsoft est retourné en tant que « 01 :\SOFTWARE\Microsoft ». Les racines de Registre retournées sur les systèmes d’exploitation 32 bits sont définies comme indiqué dans le tableau suivant.
Racine | Signification |
---|---|
|
00 |
|
01 |
|
02 |
|
03 |
[in, out, optional] pcchOutPathBuffer
Pointeur vers un emplacement qui reçoit la taille de la mémoire tampon, dans TCHAR , pointé par le paramètre szPathBuf. La valeur de cet emplacement doit être définie sur le nombre de TCHAR dans la chaîne, y compris le caractère null de fin. Si la taille de la mémoire tampon est trop petite, ce paramètre reçoit la longueur de la valeur de chaîne sans inclure le caractère null de fin dans le nombre.
Valeur de retour
La fonction MsiGetComponentPathEx retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
Le composant demandé est désactivé sur l’ordinateur. |
|
Les données de configuration sont endommagées. |
|
Le composant n’est pas installé. |
|
L’un des paramètres de fonction n’est pas valide. |
|
Le composant est installé localement. |
|
Le composant est installé pour s’exécuter à partir de la source. |
|
La source du composant est inaccessible. |
|
Le code de produit ou l’ID du composant est inconnu. |
|
Le composant est endommagé ou partiellement manquant d’une certaine manière et nécessite une réparation. |
Remarques
La fonction MsiGetComponentPathEx peut retourner INSTALLSTATE_ABSENT ou INSTALL_STATE_UNKNOWN, pour les raisons suivantes :
- INSTALLSTATE_ABSENT
L’application n’a pas vérifié correctement que la fonctionnalité a été installée en appelant msiUseFeature et, si nécessaire, MsiConfigureFeature.
- INSTALLSTATE_UNKNOWN
La fonctionnalité n’est pas publiée. L’application doit avoir déterminé cela précédemment en appelant MsiQueryFeatureState ou MsiEnumFeatures. L’application effectue ces appels pendant son initialisation. Une application ne doit utiliser que des fonctionnalités connues pour être publiées. Étant donné que INSTALLSTATE_UNKNOWN doit également être retourné par MsiUseFeature, msiUseFeature n’a pas été appelé, ou sa valeur de retour n’a pas été correctement vérifiée.
Note
L’en-tête msi.h définit MsiGetComponentPathEx 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. 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 |