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 |
---|---|
|
Die Konfigurationsdaten sind beschädigt. |
|
An die Funktion wurde ein ungültiger Parameter übergeben. |
|
Ein Puffer ist zu klein, um die angeforderten Daten zu speichern. |
|
Es gibt keine Qualifizierer, die zurückgegeben werden sollen. |
|
Das System verfügt nicht über genügend Arbeitsspeicher, um den Vorgang abzuschließen. Verfügbar mit Windows Server 2003. |
|
Ein Wert wurde aufgezählt. |
|
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 |