MsiSourceListGetInfoW, fonction (msi.h)
La fonction MsiSourceListGetInfo récupère des informations sur la liste des sources d’un produit ou d’un correctif dans un contexte spécifique.
Syntaxe
UINT MsiSourceListGetInfoW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Paramètres
[in] szProductCodeOrPatchCode
Guid productcode ou patch du produit ou du correctif. Utilisez une chaîne terminée par null. Si la chaîne contient plus de 39 caractères, la fonction échoue et retourne ERROR_INVALID_PARAMETER. Ce paramètre ne peut pas être NULL.
[in, optional] szUserSid
Ce paramètre peut être un identificateur de sécurité de chaîne (SID) qui spécifie le compte d’utilisateur qui contient le produit ou le correctif. Le SID n’est pas validé ou résolu. Un SID incorrect peut retourner ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH. Lors du référencement d’un contexte de machine, szUserSID doit être NULL et dwContext doit être MSIINSTALLCONTEXT_MACHINE.
[in] dwContext
Ce paramètre spécifie le contexte du produit ou du correctif instance. Ce paramètre peut contenir l’une des valeurs suivantes.
[in] dwOptions
La valeur dwOptions spécifie la signification de szProductCodeOrPatchCode.
Indicateur | Signification |
---|---|
|
szProductCodeOrPatchCode est un GUID de code de produit. |
|
szProductCodeOrPatchCode est un GUID de code de correctif. |
[in] szProperty
Chaîne terminée par null qui spécifie la valeur de propriété à récupérer. Le paramètre szProperty peut prendre les valeurs suivantes.
[out, optional] szValue
Mémoire tampon de sortie qui reçoit les informations. Cette mémoire tampon doit être suffisamment grande pour contenir les informations. Si la mémoire tampon est trop petite, la fonction retourne ERROR_MORE_DATA et définit *pcchValue sur le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin.
Si szValue a la valeur NULL et que pcchValue est défini sur un pointeur valide, la fonction retourne ERROR_SUCCESS et définit *pcchValue sur le nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin. La fonction peut ensuite être appelée à nouveau pour récupérer la valeur, avec la mémoire tampon szValue suffisamment grande pour contenir *pcchValue + 1 caractères.
Si szValue et pcchValue sont tous deux définis sur NULL, la fonction retourne ERROR_SUCCESS si la valeur existe, sans récupérer la valeur.
[in, out, optional] pcchValue
Pointeur vers une variable qui spécifie le nombre de TCHAR dans la mémoire tampon szValue . Lorsque la fonction retourne, ce paramètre est défini sur la taille de la valeur demandée, que la fonction copie ou non la valeur dans la mémoire tampon spécifiée. La taille est retournée en tant que nombre de TCHAR dans la valeur demandée, sans inclure le caractère null de fin.
Ce paramètre peut être défini sur NULL uniquement si szValue a également la valeur NULL, sinon la fonction retourne ERROR_INVALID_PARAMETER.
Valeur retournée
La fonction MsiSourceListGetInfo retourne les valeurs suivantes.
Valeur | Signification |
---|---|
|
L’utilisateur n’a pas la possibilité de lire la liste des sources spécifiée. Cela n’indique pas si un produit ou un correctif est trouvé. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide est passé à la fonction . |
|
La mémoire tampon fournie n’est pas suffisante pour contenir les données demandées. |
|
La propriété est récupérée avec succès. |
|
Le correctif est introuvable. |
|
Le produit est introuvable. |
|
La propriété source est introuvable. |
|
Défaillance interne inattendue. |
Remarques
Les administrateurs peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe sous le contexte de l’ordinateur ou sous leur propre contexte par utilisateur (managé ou non managé). Ils peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe dans le contexte géré par utilisateur de n’importe quel utilisateur. Les administrateurs ne peuvent pas modifier l’installation d’un autre utilisateur d’un produit ou d’un correctif instance qui existe sous le contexte non managé de cet autre utilisateur.
Les non-administrateurs ne peuvent pas modifier l’installation d’un produit ou d’un correctif instance qui existe dans le contexte par utilisateur d’un autre utilisateur (managé ou non managé). Ils peuvent modifier l’installation d’un produit ou d’un correctif instance qui existe dans leur propre contexte non managé par utilisateur. Ils peuvent modifier l’installation d’un produit ou d’un correctif instance dans le contexte de l’ordinateur ou leur propre contexte géré par utilisateur uniquement s’ils sont autorisés à rechercher une source de produit ou de correctif. Les utilisateurs peuvent être autorisés à rechercher des sources en définissant une stratégie. Pour plus d’informations, consultez Stratégies DisableBrowse, AllowLockdownBrowse et AlwaysInstallElevated .
Notes
L’en-tête msi.h définit MsiSourceListGetInfo 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.
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 3.0 ou version ultérieure 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 |