MsiGetPatchInfoExA, fonction (msi.h)

La fonction MsiGetPatchInfoEx interroge des informations sur l’application d’un correctif à un instance spécifié 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 du produit instance. 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 existe le instance du correctif interrogé. L’utilisation d’une valeur NULL spécifie l’utilisateur actuel.

SID Signification
NULL
Spécifie l’utilisateur connecté.
SID de l’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-1358098788-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 par ordinateur. Si dwContext est MSIINSTALLCONTEXT_MACHINE, szUserSid doit avoir la valeur NULL.
 

[in] dwContext

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

Context Signification
MSIINSTALLCONTEXT_USERMANAGED
1
Requête étendue à toutes les installations gérées par 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 :

Name Signification
INSTALLPROPERTY_LOCALPACKAGE
« LocalPackage »
Obtient le fichier de correctif mis en cache utilisé par le produit.
INSTALLPROPERTY_TRANSFORMS
« Transformations »
Obtient l’ensemble des transformations de correctif que la dernière installation du correctif a appliquées au 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 de ligne de commande /v est utilisée pour réparer le produit. Si le produit n’a reçu aucune réparation ni aucun correctif, cette propriété contient l’heure à laquelle il 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
« État »
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 d’affichage 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 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 lpValue a également la valeur NULL. Sinon, la fonction retourne ERROR_INVALID_PARAMETER.

Valeur retournée

La fonction MsiGetPatchInfoEx retourne les valeurs suivantes.

Code de retour Description
ERROR_ACCESS_DENIED
La fonction ne parvient pas à tenter 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 tient pas dans 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.

Notes

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

Un utilisateur peut interroger les données de correctif pour n’importe quel instance de produit visible. Le groupe d’administrateurs peut interroger les données de correctif pour n’importe quel produit instance et n’importe quel 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é.

Notes

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

   
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. 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

Voir aussi

ProductCode

Suppression des correctifs