Partager via


MsiEnumPatchesA, fonction (msi.h)

La fonction MsiEnumPatches énumère tous les correctifs qui ont été appliqués à un produit. La fonction retourne le GUID du code de correctif pour chaque correctif qui a été appliqué au produit et retourne une liste de transformations de chaque correctif qui s’applique au produit. Notez que les correctifs peuvent avoir de nombreuses transformations, dont seules certaines s’appliquent à un produit particulier. La liste des transformations est retournée dans le même format que la valeur de la propriété TRANSFORMS .

Notez quepcchTransformsBuf n’est pas défini sur le nombre de caractères copiés dans lpTransformsBuf lors d’un retour réussi de MsiEnumPatches.
 

Syntaxe

UINT MsiEnumPatchesA(
  [in]      LPCSTR  szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPSTR   lpPatchBuf,
  [out]     LPSTR   lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Paramètres

[in] szProduct

Spécifie le code de produit du produit pour lequel les correctifs doivent être énumérés.

[in] iPatchIndex

Spécifie l’index du correctif à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumPatches , puis incrémenté pour les appels suivants.

[out] lpPatchBuf

Pointeur vers une mémoire tampon qui reçoit le GUID du correctif. Cet argument est obligatoire.

[out] lpTransformsBuf

Pointeur vers une mémoire tampon qui reçoit la liste des transformations du correctif applicables au produit. Cet argument est obligatoire et ne peut pas être Null.

[in, out] pcchTransformsBuf

Définissez sur le nombre de caractères copiés dans lpTransformsBuf en cas d’échec du retour de la fonction. Non défini pour un retour réussi. Lors de l’entrée, il s’agit de la taille complète de la mémoire tampon, y compris un espace pour un caractère null de fin. Si la mémoire tampon passée est trop petite, le nombre retourné n’inclut pas le caractère null de fin.

Valeur retournée

Valeur Signification
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction.
ERROR_NO_MORE_ITEMS
Il n’y a aucun correctif à retourner.
ERROR_SUCCESS
Une valeur a été énumérée.
ERROR_MORE_DATA
Une mémoire tampon est trop petite pour contenir les données demandées.

Remarques

Pour énumérer les correctifs, une application doit initialement appeler la fonction MsiEnumPatches avec le paramètre iPatchIndex défini sur zéro. L’application doit ensuite incrémenter le paramètre iPatchIndex et appeler MsiEnumPatches jusqu’à ce qu’il n’y ait plus de produits (jusqu’à ce que la fonction retourne ERROR_NO_MORE_ITEMS).

Si la mémoire tampon est trop petite pour contenir les données demandées, MsiEnumPatches retourne ERROR_MORE_DATA et pcchTransformsBuf contient le nombre de caractères copiés dans lpTransformsBuf, sans compter le caractère Null.

Notes

L’en-tête msi.h définit MsiEnumPatches en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
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. Windows Installer sur Windows Server 2003 ou Windows XP. 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