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.
[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.
[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 |
---|---|
|
Obtient le fichier de correctif mis en cache utilisé par le produit. |
|
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é. |
|
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. |
|
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é. |
|
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. |
|
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 (""). |
|
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 |
---|---|
|
La fonction ne parvient pas à tenter d’accéder à une ressource avec des privilèges insuffisants. |
|
Les données de configuration sont endommagées. |
|
La fonction échoue et l’erreur n’est pas identifiée dans d’autres codes d’erreur. |
|
Un paramètre non valide est passé à la fonction . |
|
La valeur ne tient pas dans la mémoire tampon fournie. |
|
Le correctif est énuméré avec succès. |
|
Le produit spécifié par szProduct n’est pas installé sur l’ordinateur. |
|
La propriété n’est pas reconnue. |
|
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 |