MsiGetComponentPathW, fonction (msi.h)
La fonction MsiGetComponentPath retourne le chemin d’accès complet à un composant installé. Si le chemin de la clé du composant est une clé de Registre, la clé de Registre est retournée.
Syntaxe
INSTALLSTATE MsiGetComponentPathW(
[in] LPCWSTR szProduct,
[in] LPCWSTR szComponent,
[out] LPWSTR lpPathBuf,
[in, out] LPDWORD pcchBuf
);
Paramètres
[in] szProduct
Spécifie le code de produit pour le produit client.
[in] szComponent
Spécifie l’ID du composant à trouver.
[out] lpPathBuf
Pointeur vers une variable qui reçoit le chemin d’accès au composant. Ce paramètre peut avoir la valeur 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 d’accès de la 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é sous la forme « 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.
Root | Signification |
---|---|
|
00 |
|
01 |
|
02 |
|
03 |
[in, out] pcchBuf
Pointeur vers une variable qui spécifie la taille, en caractères, de la mémoire tampon vers laquelle pointe le paramètre lpPathBuf . Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon, y compris un espace pour un caractère null de fin. Si la mémoire tampon passée est trop petite, le nombre retourné n’inclut pas le caractère null de fin.
Si lpPathBuf a la valeur null, pcchBuf peut être null.
Valeur retournée
La fonction MsiGetComponentPath retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
Le composant demandé est désactivé sur l’ordinateur. |
|
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 de composant est inconnu. |
Remarques
En cas de réussite de la fonction MsiGetComponentPath , le paramètre pcchBuf contient la longueur de la chaîne dans lpPathBuf.
La fonction MsiGetComponentPath peut retourner INSTALLSTATE_ABSENT ou INSTALL_STATE_UNKNOWN, pour les raisons suivantes :
- INSTALLSTATE_ABSENT
L’application n’a pas correctement vérifié que la fonctionnalité était 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 doit uniquement utiliser des fonctionnalités connues pour être publiées. Étant donné que INSTALLSTATE_UNKNOWN devait également avoir été retourné par MsiUseFeature , MsiUseFeature n’a pas été appelé ou sa valeur de retour n’a pas été correctement vérifiée.
Notes
L’en-tête msi.h définit MsiGetComponentPath en tant qu’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. Windows Installer sur Windows Server 2003 ou Windows XP. 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 |