MsiEnumComponentQualifierSA-Funktion (msi.h)

Die MsiEnumComponentQualifiers-Funktion listet die angekündigten Qualifizierer für die angegebene Komponente auf. Diese Funktion ruft bei jedem Aufruf 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 eine Komponente an, deren Qualifizierer aufgelistet werden sollen.

[in] iIndex

Gibt den Index des abzurufenden Qualifizierers an. Dieser Parameter sollte null für den ersten Aufruf der MsiEnumComponentQualifiers-Funktion sein und dann für nachfolgende Aufrufe inkrementiert werden. Da Qualifizierer nicht sortiert sind, verfügt jeder neue Qualifizierer über einen beliebigen Index. 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

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

[out] lpApplicationDataBuf

Zeiger auf einen Puffer, der die für den Qualifizierer registrierten Anwendungsdaten empfängt. Dieser Parameter kann NULL sein.

[in, out] pcchApplicationDataBuf

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

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_MORE_DATA
Ein Puffer ist zu klein, um die angeforderten Daten aufzunehmen.
ERROR_NO_MORE_ITEMS
Es gibt keine Qualifizierer, die zurückgegeben werden können.
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 aufgelistet.
ERROR_UNKNOWN_COMPONENT
Die angegebene Komponente ist unbekannt.

Hinweise

Um Qualifizierer aufzulisten, sollte eine Anwendung zunächst die MsiEnumComponentQualifiers-Funktion aufrufen, wobei der iIndex-Parameter auf Null festgelegt ist. Die Anwendung sollte dann den iIndex-Parameter erhöhen 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 pcchQualifierBuf-Parameter die Länge der im Puffer gespeicherten Qualifiziererzeichenfolge. Die zurückgegebene Anzahl enthält nicht das beendende NULL-Zeichen. Wenn der Puffer nicht groß genug ist, gibt MsiEnumComponentQualifiers 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.

Wenn Sie mehrere Aufrufe von MsiEnumComponentQualifiers ausführen, um alle angekündigten Qualifizierer der Komponente aufzulisten, sollte jeder Aufruf aus demselben Thread erfolgen.

Hinweis

Der msi.h-Header definiert MsiEnumComponentQualifiers als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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

Systemstatusfunktionen