Freigeben über


MsiEnumComponentQualifiersA-Funktion (msi.h)

Die MsiEnumComponentQualifiers Funktion listet die angekündigten Qualifizierer für die angegebene Komponente auf. Diese Funktion ruft jedes Mal, wenn sie aufgerufen wird, einen Qualifizierer ab.

Syntax

UINT MsiEnumComponentQualifiersA(
  [in]      LPCSTR  szComponent,
  [in]      DWORD   iIndex,
  [out]     LPSTR   lpQualifierBuf,
  [in, out] LPDWORD pcchQualifierBuf,
  [out]     LPSTR   lpApplicationDataBuf,
  [in, out] LPDWORD pcchApplicationDataBuf
);

Parameter

[in] szComponent

Gibt die Komponente an, deren Qualifizierer aufgezählt werden sollen.

[in] iIndex

Gibt den Index des abzurufenden Qualifizierers an. Dieser Parameter sollte für den ersten Aufruf der MsiEnumComponentQualifiers Funktion null sein und dann für nachfolgende Aufrufe erhöht werden. Da Qualifizierer nicht sortiert sind, weist jeder neue Qualifizierer einen beliebigen Index auf. Dies bedeutet, dass die Funktion Qualifizierer in beliebiger Reihenfolge zurückgeben kann.

[out] lpQualifierBuf

Zeiger auf einen Puffer, der den Qualifizierercode empfängt.

[in, out] pcchQualifierBuf

Zeigen Sie auf eine Variable, die die Größe des Puffers in Zeichen angibt, auf den der lpQualifierBuf-Parameter verweist. Bei eingaben sollte diese Größe das endende NULL-Zeichen enthalten. Bei Rückgabe enthält der Wert nicht das Nullzeichen.

[out] lpApplicationDataBuf

Zeigen Sie auf einen Puffer, der die registrierten Daten der Anwendung für den Qualifizierer empfängt. Dieser Parameter kann null sein.

[in, out] pcchApplicationDataBuf

Zeigen Sie auf eine Variable, die die Größe des Puffers in Zeichen angibt, auf den der lpApplicationDataBuf-Parameter verweist. Bei eingaben sollte diese Größe das endende NULL-Zeichen enthalten. Bei Rückgabe enthält der Wert nicht das Nullzeichen. Dieser Parameter kann nur null sein, wenn der parameter lpApplicationDataBuf null ist.

Rückgabewert

Wert Bedeutung
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
An die Funktion wurde ein ungültiger Parameter übergeben.
ERROR_MORE_DATA
Ein Puffer ist zu klein, um die angeforderten Daten zu speichern.
ERROR_NO_MORE_ITEMS
Es gibt keine Qualifizierer, die zurückgegeben werden sollen.
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.
ERROR_UNKNOWN_COMPONENT
Die angegebene Komponente ist unbekannt.

Bemerkungen

Zum Aufzählen von Qualifizierern sollte eine Anwendung zunächst die MsiEnumComponentQualifiers Funktion aufrufen, wobei der iIndex- Parameter auf Null festgelegt ist. Die Anwendung sollte dann den iIndex Parameter inkrementieren und MsiEnumComponentQualifiers aufrufen, bis keine weiteren Qualifizierer vorhanden sind (d. h., bis die Funktion ERROR_NO_MORE_ITEMS zurückgibt).

Wenn MsiEnumComponentQualifiers zurückgegeben wird, enthält der parameter pcchQualifierBuf die Länge der im Puffer gespeicherten Qualifiziererzeichenfolge. Die zurückgegebene Anzahl enthält nicht das endende Nullzeichen. Wenn der Puffer nicht groß genug ist, MsiEnumComponentQualifiers gibt ERROR_MORE_DATA zurück, und dieser Parameter enthält die Größe der Zeichenfolge in Zeichen, ohne das NULL-Zeichen zu zählen. Der gleiche Mechanismus gilt für pcchDescriptionBuf.

Bei mehreren Aufrufen von MsiEnumComponentQualifiers, um alle angekündigten Qualifizierer der Komponente aufzulisten, sollte jeder Aufruf aus demselben Thread erfolgen.

Anmerkung

Der msi.h-Header definiert MsiEnumComponentQualifiers 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

Anforderung Wert
mindestens unterstützte 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 von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen.
Zielplattform- Fenster
Header- msi.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

Systemstatusfunktionen