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