MsiEnumPatchesExA, fonction (msi.h)
La fonction MsiEnumPatchesEx énumère tous les correctifs dans un contexte spécifique ou dans tous les contextes. Les correctifs déjà appliqués aux produits sont énumérés. Les correctifs qui ont été enregistrés mais qui n’ont pas encore été appliqués aux produits sont également énumérés.
Syntaxe
UINT MsiEnumPatchesExA(
[in, optional] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwFilter,
[in] DWORD dwIndex,
[out, optional] CHAR [39] szPatchCode,
[out, optional] CHAR [39] szTargetProductCode,
[out, optional] MSIINSTALLCONTEXT *pdwTargetProductContext,
[out, optional] LPSTR szTargetUserSid,
[in, out, optional] LPDWORD pcchTargetUserSid
);
Paramètres
[in, optional] szProductCode
Chaîne terminée par null qui spécifie l'ProductCode GUID du produit dont les correctifs sont énumérés. Si non-NULL, l’énumération de correctifs est limitée aux instances de ce produit sous l’utilisateur et le contexte spécifiés par szUserSid et dwContext. Si NULL, les correctifs pour tous les produits sous le contexte spécifié sont énumérés.
[in, optional] szUserSid
Chaîne terminée par null qui spécifie un identificateur de sécurité (SID) qui limite le contexte d’énumération. La chaîne SID spéciale « S-1-1-0 » (Tout le monde) spécifie l’énumération sur tous les utilisateurs du système. Une valeur SID autre que « S-1-1-0 » est considérée comme un SID utilisateur et limite l’énumération à cet utilisateur. Lors de l’énumération d’un utilisateur autre que l’utilisateur actuel, les correctifs appliqués dans un contexte non managé par utilisateur à l’aide d’une version inférieure à Windows Installer version 3.0 ne sont pas énumérés. Ce paramètre peut être défini sur NULL pour spécifier l’utilisateur actuel.
[in] dwContext
Limite l’énumération à une ou une combinaison de contextes. Ce paramètre peut être une ou une combinaison des valeurs suivantes.
[in] dwFilter
Filtre d’énumération. Ce paramètre peut être une ou une combinaison des paramètres suivants.
Filtre | Signification |
---|---|
|
L’énumération inclut des correctifs qui ont été appliqués. L’énumération n’inclut pas de correctifs remplacés ou obsolètes. |
|
L’énumération inclut des correctifs marqués comme remplacés. |
|
L’énumération inclut des correctifs marqués comme obsolètes. |
|
L’énumération inclut des correctifs inscrits mais qui ne sont pas encore appliqués. La fonction MsiSourceListAddSourceEx peut inscrire de nouveaux correctifs.
Remarque Correctifs enregistrés pour les utilisateurs autres que l’utilisateur actuel et appliqués dans le contexte non managé par utilisateur ne sont pas énumérés.
|
|
L’énumération inclut tous les correctifs appliqués, obsolètes, remplacés et inscrits. |
[in] dwIndex
Index du correctif à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumPatchesEx, puis incrémenté pour les appels suivants. Le paramètre dwIndex doit être incrémenté uniquement si l’appel précédent a retourné ERROR_SUCCESS.
[out, optional] szPatchCode
Mémoire tampon de sortie contenant le GUID du correctif énuméré. La mémoire tampon doit être suffisamment grande pour contenir le GUID. Ce paramètre peut être NULL.
[out, optional] szTargetProductCode
Mémoire tampon de sortie contenant le GUID de ProductCode du produit qui reçoit ce correctif. La mémoire tampon doit être suffisamment grande pour contenir le GUID. Ce paramètre peut être NULL.
[out, optional] pdwTargetProductContext
Retourne le contexte du correctif énuméré. La valeur de sortie peut être MSIINSTALLCONTEXT_USERMANAGED, MSIINSTALLCONTEXT_USERUNMANAGEDou MSIINSTALLCONTEXT_MACHINE. Ce paramètre peut être NULL.
[out, optional] szTargetUserSid
Mémoire tampon de sortie qui reçoit le SID de chaîne du compte sous lequel cette instance de correctif existe. Cette mémoire tampon retourne une chaîne vide pour un contexte par ordinateur.
Cette mémoire tampon doit être suffisamment grande pour contenir le SID. Si la mémoire tampon est trop petite, la fonction retourne ERROR_MORE_DATA et définit *pcchTargetUserSid au nombre de TCHAR dans la valeur, sans inclure le caractère NULL de fin.
Si le szTargetUserSid
Si szTargetUserSid et pcchTargetUserSid 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] pcchTargetUserSid
Pointeur vers une variable qui spécifie le nombre de TCHAR dans la mémoire tampon szTargetUserSid. 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 szTargetUserSid est également NULL , sinon la fonction retourne ERROR_INVALID_PARAMETER.
Valeur de retour
La fonction msiEnumPatchesEx
Retourner le code | Description |
---|---|
|
La fonction ne parvient pas à essayer d’accéder à une ressource avec des privilèges insuffisants. |
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide est passé à la fonction. |
|
Il n’y a plus de correctifs à énumérer. |
|
Le correctif est correctement énuméré. |
|
Le produit qui szProduct spécifie n’est pas installé sur l’ordinateur dans les contextes spécifiés. |
|
Cela est retourné lorsque pcchTargetUserSid pointe vers une taille de mémoire tampon inférieure à celle requise pour copier le SID. Dans ce cas, l’utilisateur peut corriger la mémoire tampon et appeler MsiEnumPatchesEx à nouveau pour la même valeur d’index. |
Remarques
Les non-administrateurs peuvent énumérer les correctifs dans leur visibilité uniquement. Les administrateurs peuvent énumérer les correctifs pour d’autres contextes utilisateur.
Note
L’en-tête msi.h définit MsiEnumPatchesEx 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
non pris en charge dans Windows Installer 2.0 et versions antérieures