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 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 qui ne sont applicables qu’à un produit particulier. La liste des transformations est retournée au même format que la valeur de la propriété TRANSFORMS.

RemarquepcchTransformsBuf n’est pas défini sur le nombre de caractères copiés sur 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 dans le correctif applicable au produit. Cet argument est obligatoire et ne peut pas être Null.

[in, out] pcchTransformsBuf

Définissez le nombre de caractères copiés sur lpTransformsBuf lors d’un retour infructueuse 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 de retour

Valeur Signification
ERROR_BAD_CONFIGURATION
Les données de configuration sont endommagées.
ERROR_INVALID_PARAMETER
Un paramètre non valide a été passé à la fonction.
ERROR_NO_MORE_ITEMS
Il n’existe 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.

Note

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