MsiEnumPatchesW, 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 .
Syntaxe
UINT MsiEnumPatchesW(
[in] LPCWSTR szProduct,
[in] DWORD iPatchIndex,
[out] LPWSTR lpPatchBuf,
[out] LPWSTR 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 |
---|---|
|
Les données de configuration sont endommagées. |
|
Un paramètre non valide a été transmis à la fonction. |
|
Il n’y a aucun correctif à retourner. |
|
Une valeur a été énumérée. |
|
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 |