MsiEnumProductsA-Funktion (msi.h)

Die MsiEnumProducts-Funktion listet alle derzeit angekündigten oder installierten Produkte auf. Produkte, die sowohl im Installationskontext pro Benutzer als auch im Pro-Computer-Installationskontext und in Ankündigungen installiert sind, werden aufgezählt.

Syntax

UINT MsiEnumProductsA(
  [in]  DWORD iProductIndex,
  [out] LPSTR lpProductBuf
);

Parameter

[in] iProductIndex

Gibt den Index des abzurufenden Produkts an. Dieser Parameter sollte für den ersten Aufruf der MsiEnumProducts-Funktion null sein und dann für nachfolgende Aufrufe inkrementiert werden. Da die Produkte nicht sortiert werden, verfügen alle neuen Produkte über einen beliebigen Index. Daher kann die Funktion Produkte in beliebiger Reihenfolge zurückgeben.

[out] lpProductBuf

Zeiger auf einen Puffer, der den Produktcode empfängt. Dieser Puffer muss 39 Zeichen lang sein. Die ersten 38 Zeichen gelten für die GUID, und das letzte Zeichen ist für das abschließende NULL-Zeichen.

Rückgabewert

Wert Bedeutung
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben.
ERROR_NO_MORE_ITEMS
Es gibt keine Produkte zurückzugeben.
ERROR_NOT_ENOUGH_MEMORY
Das System verfügt nicht über genügend Arbeitsspeicher, um den Vorgang abzuschließen. Verfügbar mit Windows Server 2003.
ERROR_SUCCESS
Ein Wert wurde aufgezählt.

Hinweise

Um Produkte aufzulisten, sollte eine Anwendung zunächst die MsiEnumProducts-Funktion aufrufen, wobei der Parameter iProductIndex auf Null festgelegt ist. Die Anwendung sollte dann den iProductIndex-Parameter erhöhen und MsiEnumProducts aufrufen, bis keine weiteren Produkte vorhanden sind (bis die Funktion ERROR_NO_MORE_ITEMS zurückgibt).

Wenn Sie mehrere Aufrufe von MsiEnumProducts ausführen, um alle Produkte aufzulisten, sollte jeder Aufruf aus demselben Thread erfolgen.

Hinweis

Der msi.h-Header definiert MsiEnumProducts als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Weitere Informationen

Bestimmen des Installationskontexts

Systemstatusfunktionen