Partager via


MsiGetPatchInfoExA, fonction (msi.h)

La fonction MsiGetPatchInfoEx interroge pour plus d’informations sur l’application d’un correctif sur une instance spécifiée d’un produit.

Syntaxe

UINT MsiGetPatchInfoExA(
  [in]            LPCSTR            szPatchCode,
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szProperty,
  [out, optional] LPSTR             lpValue,
  [in, out]       LPDWORD           pcchValue
);

Paramètres

[in] szPatchCode

Chaîne terminée par null qui contient le GUID du correctif. Ce paramètre ne peut pas être NULL.

[in] szProductCode

Chaîne terminée par null qui contient le GUID ProductCode de l’instance de produit. Ce paramètre ne peut pas être NULL.

[in] szUserSid

Chaîne terminée par null qui spécifie l’identificateur de sécurité (SID) sous lequel l’instance du correctif interrogé existe. L’utilisation d’une valeur NULL spécifie l’utilisateur actuel.

SID Meaning
NULL
Spécifie l’utilisateur connecté.
SID utilisateur
Spécifie l’énumération d’un ID utilisateur spécifique dans le système. L’exemple suivant identifie un SID utilisateur possible : « S-1-3-64-2415071341-135809878-3127455600-2561 ».
 
Note La chaîne SID spéciale « S-1-5-18 » (système) ne peut pas être utilisée pour énumérer les produits installés en tant que machine. Si dwContext est MSIINSTALLCONTEXT_MACHINE, szUserSid doit être NULL.
 

[in] dwContext

Limite l’énumération à un contexte géré par utilisateur, géré par utilisateur ou par ordinateur. Ce paramètre peut être l’une des valeurs suivantes.

Contexte Meaning
MSIINSTALLCONTEXT_USERMANAGED
1
Requête étendue à toutes les installations gérées par l’utilisateur pour les utilisateurs spécifiés par szUserSid .
MSIINSTALLCONTEXT_USERUNMANAGED
2
Requête étendue à toutes les installations non managées par utilisateur pour les utilisateurs spécifiés par szUserSid .
MSIINSTALLCONTEXT_MACHINE
4
Requête étendue à toutes les installations par ordinateur.

[in] szProperty

Chaîne terminée par null qui spécifie la valeur de propriété à récupérer. Le paramètre szProperty peut être l’un des éléments suivants :

Nom Meaning
INSTALLPROPERTY_LOCALPACKAGE
« LocalPackage »
Obtient le fichier de correctif mis en cache que le produit utilise.
INSTALLPROPERTY_TRANSFORMS
« Transformations »
Obtient l’ensemble de transformations correctives appliquées à la dernière installation du correctif sur le produit. Cette valeur peut ne pas être disponible pour les applications non gérées par utilisateur si l’utilisateur n’est pas connecté.
INSTALLPROPERTY_INSTALLDATE
« InstallDate »
Obtient la dernière fois que ce produit a reçu le service. La valeur de cette propriété est remplacée chaque fois qu’un correctif est appliqué ou supprimé du produit ou que l’option /vCommand-Line est utilisée pour réparer le produit. Si le produit n’a reçu aucune réparation ni correctif, cette propriété contient le moment où ce produit a été installé sur cet ordinateur.
INSTALLPROPERTY_UNINSTALLABLE
« Désinstallable »
Retourne « 1 » si le correctif est marqué comme possible pour la désinstallation du produit. Dans ce cas, le programme d’installation peut toujours bloquer la désinstallation si ce correctif est requis par un autre correctif qui ne peut pas être désinstallé.
INSTALLPROPERTY_PATCHSTATE
« State »
Retourne « 1 » si ce correctif est actuellement appliqué au produit. Retourne « 2 » si ce correctif est remplacé par un autre correctif. Retourne « 4 » si ce correctif est obsolète. Ces valeurs correspondent aux constantes que le paramètre dwFilter de MsiEnumPatchesEx utilise.
INSTALLPROPERTY_DISPLAYNAME
« DisplayName »
Obtenez le nom complet inscrit pour le correctif. Pour les correctifs qui n’incluent pas la propriété DisplayName dans la table MsiPatchMetadata , le nom d’affichage retourné est une chaîne vide ( » « ).
INSTALLPROPERTY_MOREINFOURL
« MoreInfoURL »
Obtenez l’URL des informations de support inscrites pour le correctif. Pour les correctifs qui n’incluent pas la propriété MoreInfoURL dans la table MsiPatchMetadata , l’URL des informations de support retournées est une chaîne vide ( » « ).

[out, optional] lpValue

Ce paramètre est un pointeur vers une mémoire tampon qui reçoit la valeur de propriété. 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 de propriété, sans inclure le caractère NULL de fin.

Si lpValue 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 lpValue suffisamment grande pour contenir *pcchValue + 1 caractères.

Si lpValue 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] pcchValue

Lors de l’appel de la fonction, ce paramètre doit être un pointeur vers une variable qui spécifie le nombre de TCHAR dans la mémoire tampon lpValue . Lorsque la fonction est retournée, ce paramètre est défini sur la taille de la valeur demandée si la fonction copie 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 lpValue est également NULL. Sinon, la fonction retourne ERROR_INVALID_PARAMETER.

Valeur retournée

La fonction MsiGetPatchInfoEx retourne les valeurs suivantes.

Code de retour Descriptif
ERROR_ACCESS_DENIED
La fonction ne parvient pas à essayer d’accéder à une ressource avec des privilèges insuffisants.
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_FUNCTION_FAILED
La fonction échoue et l’erreur n’est pas identifiée dans d’autres codes d’erreur.
ERROR_INVALID_PARAMETER
Un paramètre non valide est passé à la fonction.
ERROR_MORE_DATA
La valeur ne correspond pas à la mémoire tampon fournie.
ERROR_SUCCESS
Le correctif est énuméré avec succès.
ERROR_UNKNOWN_PRODUCT
Le produit spécifié par szProduct n’est pas installé sur l’ordinateur.
ERROR_UNKNOWN_PROPERTY
La propriété n’est pas reconnue.
ERROR_UNKNOWN_PATCH
Le correctif n’est pas reconnu.

Remarques

Windows Installer 2.0 : Non pris en charge. Cette fonction est disponible à partir de Windows Installer version 3.0.

Un utilisateur peut interroger des données correctives pour toute instance de produit visible. Le groupe d’administrateurs peut interroger des données correctives pour n’importe quelle instance de produit et tout utilisateur sur l’ordinateur. Toutes les valeurs ne sont pas garanties pour les applications non gérées par utilisateur si l’utilisateur n’est pas connecté.

Note

L’en-tête msi.h définit MsiGetPatchInfoEx 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.

Spécifications

Requirement Valeur
Client minimum requis 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 Fenêtres
Header msi.h
Library Msi.lib
DLL Msi.dll

Voir aussi

ProductCode

Suppression des correctifs