Partager via


MsiGetPatchInfoExW, fonction (msi.h)

L'MsiGetPatchInfoEx requêtes de fonction pour plus d’informations sur l’application d’un correctif sur une instance spécifiée d’un produit.

Syntaxe

UINT MsiGetPatchInfoExW(
  [in]            LPCWSTR           szPatchCode,
  [in]            LPCWSTR           szProductCode,
  [in]            LPCWSTR           szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCWSTR           szProperty,
  [out, optional] LPWSTR            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 une valeur null qui contient le ProductCode GUID 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 Signification
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 ».
 
Remarque 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 Signification
MSIINSTALLCONTEXT_USERMANAGED
1
Requête étendue à toutes les installations gérées par l’utilisateur pour les utilisateurs qui szUserSid spécifie.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Requête étendue à toutes les installations non managées par utilisateur pour les utilisateurs qui szUserSid spécifie.
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 Signification
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 /v Command-Line Option est utilisé 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 le nombre d'TCHAR dans la valeur de propriété, sans inclure la fin caractère NULL.

Si lpValue est défini sur NULL et pcchValue est défini sur un pointeur valide, la fonction retourne ERROR_SUCCESS et définit *pcchValue 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 lpValue mémoire tampon suffisamment grande pour contenir *pcchValue + 1 caractères.

Si lpValue et pcchValue sont tous les 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 d'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 de retour

La fonction MsiGetPatchInfoEx retourne les valeurs suivantes.

Retourner le code Description
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 qui szProduct spécifie 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.

Exigences

Exigence Valeur
client minimum 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. 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 Windows
d’en-tête msi.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

ProductCode

suppression des correctifs