MsiSourceListEnumSourcesA-Funktion (msi.h)
Die MsiSourceListEnumSources-Funktion listet die Quellen in der Quellliste eines angegebenen Patches oder Produkts auf.
Syntax
UINT MsiSourceListEnumSourcesA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[in, optional] LPSTR szSource,
[in, out, optional] LPDWORD pcchSource
);
Parameter
[in] szProductCodeOrPatchCode
Die ProductCode - oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine NULL-Zeichenfolge. Wenn die Zeichenfolge länger als 39 Zeichen ist, schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETER zurück. Dieser Parameter darf nicht NULL sein.
[in, optional] szUserSid
Eine Zeichenfolgen-SID, die das Benutzerkonto angibt, das das Produkt oder den Patch enthält. Die SID wird nicht überprüft oder aufgelöst. Eine falsche SID kann ERROR_UNKNOWN_PRODUCT oder ERROR_UNKNOWN_PATCH zurückgeben. Beim Verweisen auf einen Computerkontext muss szUserSIDNULL und dwContext MSIINSTALLCONTEXT_MACHINE sein.
[in] dwContext
Der Kontext des Produkts oder Patches instance. Dieser Parameter kann einen der folgenden Werte enthalten.
[in] dwOptions
Der dwOptions-Wert bestimmt die Interpretation des szProductCodeOrPatchCode-Werts und den Typ der zu löschenden Quellen. Dieser Parameter muss eine Kombination aus einer der folgenden MSISOURCETYPE_*-Konstanten und einer der folgenden MSICODE_*-Konstanten sein.
[in] dwIndex
Der Index der abzurufenden Quelle. Dieser Parameter muss für den ersten Aufruf der MsiSourceListEnumSourceSources-Funktion 0 (Null) sein und dann für nachfolgende Aufrufe erhöht werden, bis die Funktion ERROR_NO_MORE_ITEMS zurückgibt. Der Index sollte nur erhöht werden, wenn der vorherige Aufruf ERROR_SUCCESS zurückgegeben wurde.
[in, optional] szSource
Ein Zeiger auf einen Puffer, der den Pfad zur Quelle empfängt, die aufgelistet wird. Dieser Puffer sollte groß genug sein, um den empfangenen Wert zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchSource auf die Anzahl von TCHAR im Wert fest, ohne das beendende NULL-Zeichen.
Wenn szSource auf NULL und pcchSource auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchSource auf die Anzahl von TCHAR im Wert fest, ohne das beendende NULL-Zeichen. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei der Puffer szSource groß genug ist, um *pcchSource + 1 Zeichen zu enthalten.
Wenn szSource und pcchSource auf NULL festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.
[in, out, optional] pcchSource
Ein Zeiger auf eine Variable, die die Anzahl von TCHAR im szSource-Puffer angibt. Wenn die Funktion zurückgibt, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert oder nicht. Die Größe wird als Anzahl von TCHAR im angeforderten Wert zurückgegeben, ohne das beendende NULL-Zeichen.
Dieser Parameter kann nur dann auf NULL festgelegt werden, wenn szSource ebenfalls NULL ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.
Rückgabewert
Die MsiSourceListEnumSources-Funktion gibt die folgenden Werte zurück.
Wert | Bedeutung |
---|---|
|
Der Benutzer kann die angegebene Quellliste nicht lesen. Dies gibt nicht an, ob ein Produkt oder Patch gefunden wird. |
|
Die Konfigurationsdaten sind beschädigt. |
|
Ein ungültiger Parameter wird an die Funktion übergeben. |
|
Der bereitgestellte Puffer reicht nicht aus, um die angeforderten Daten zu enthalten. |
|
Es gibt keine weiteren Quellen in der angegebenen Liste, die aufgelistet werden müssen. |
|
Eine Quelle wird erfolgreich aufgelistet. |
|
Der angegebene Patch wird in den angegebenen Kontexten nicht auf dem Computer installiert. |
|
Das angegebene Produkt wird in den angegebenen Kontexten nicht auf dem Computer installiert. |
|
Unerwarteter interner Fehler. |
Hinweise
Wenn Sie mehrere Aufrufe an MsiSourceListEnumSources ausführen, um alle Quellen für ein einzelnes Produkt instance aufzulisten, muss jeder Aufruf aus demselben Thread erfolgen.
Ein Administrator kann nicht verwaltete und verwaltete Installationen pro Benutzer, Computerinstallationen und benutzerspezifische verwaltete Installationen für jeden Benutzer aufzählen. Ein Administrator kann nicht verwaltete Installationen pro Benutzer für andere Benutzer nicht aufzählen. Nicht-Administratoren können nur ihre eigenen nicht verwalteten und verwalteten Installationen pro Benutzer und computerspezifische Installationen auflisten.
Hinweis
Der msi.h-Header definiert MsiSourceListEnumSources 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 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 3.0 oder höher 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 |