MsiEnumClientsA, fonction (msi.h)

La fonction MsiEnumClients énumère les clients pour un composant installé donné. La fonction récupère un code de produit chaque fois qu’il est appelé.

Syntaxe

UINT MsiEnumClientsA(
  [in]  LPCSTR szComponent,
  [in]  DWORD  iProductIndex,
  [out] LPSTR  lpProductBuf
);

Paramètres

[in] szComponent

Spécifie le composant dont les clients doivent être énumérés.

[in] iProductIndex

Spécifie l’index du client à récupérer. Ce paramètre doit être égal à zéro pour le premier appel à la fonction MsiEnumClients , puis incrémenté pour les appels suivants. Étant donné que les clients ne sont pas triés, tout nouveau client a un index arbitraire. Cela signifie que la fonction peut retourner des clients dans n’importe quel ordre.

[out] lpProductBuf

Pointeur vers une mémoire tampon qui reçoit le code de produit. Cette mémoire tampon doit comporter 39 caractères. Les 38 premiers caractères sont pour le GUID, et le dernier caractère est pour 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 client à retourner.
ERROR_NOT_ENOUGH_MEMORY
Le système ne dispose pas de suffisamment de mémoire pour terminer l’opération. Disponible avec Windows Server 2003.
ERROR_SUCCESS
Une valeur a été énumérée.
ERROR_UNKNOWN_COMPONENT
Le composant spécifié est inconnu.

Notes

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

Lorsque vous effectuez plusieurs appels à MsiEnumClients pour énumérer tous les clients du composant, chaque appel doit être effectué à partir du même thread.

Notes

L’en-tête msi.h définit MsiEnumClients 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.

Spécifications

   
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

Voir aussi

Fonctions d’état du système