MsiSourceListGetInfoA-Funktion (msi.h)
Die MsiSourceListGetInfo-Funktion ruft Informationen zur Quellliste für ein Produkt oder Patch in einem bestimmten Kontext ab.
Syntax
UINT MsiSourceListGetInfoA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
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
Dieser Parameter kann eine Zeichenfolgensicherheits-ID (SID) sein, 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
Dieser Parameter gibt den Kontext des Produkt- oder Patch-instance an. Dieser Parameter kann einen der folgenden Werte enthalten.
[in] dwOptions
Der dwOptions-Wert gibt die Bedeutung von szProductCodeOrPatchCode an.
Flag | Bedeutung |
---|---|
|
szProductCodeOrPatchCode ist eine Produktcode-GUID. |
|
szProductCodeOrPatchCode ist eine Patchcode-GUID. |
[in] szProperty
Eine NULL-Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty-Parameter kann einen der folgenden Werte annehmen.
[out, optional] szValue
Ein Ausgabepuffer, der die Informationen empfängt. Dieser Puffer sollte groß genug sein, um die Informationen zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und legt *pcchValue auf die Anzahl von TCHAR im Wert fest, ohne das beendende NULL-Zeichen.
Wenn szValue auf NULL und pcchValue auf einen gültigen Zeiger festgelegt ist, gibt die Funktion ERROR_SUCCESS zurück und legt *pcchValue 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 szValue groß genug ist, um *pcchValue + 1 Zeichen zu enthalten.
Wenn szValue und pcchValue beide auf NULL festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn der Wert vorhanden ist, ohne den Wert abzurufen.
[in, out, optional] pcchValue
Ein Zeiger auf eine Variable, die die Anzahl von TCHAR im szValue-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 auf NULL festgelegt werden, wenn szValue ebenfalls NULL ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.
Rückgabewert
Die MsiSourceListGetInfo-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. |
|
Die Eigenschaft wird erfolgreich abgerufen. |
|
Der Patch wurde nicht gefunden. |
|
Das Produkt wurde nicht gefunden. |
|
Die Quelleigenschaft wurde nicht gefunden. |
|
Ein unerwarteter interner Fehler. |
Hinweise
Administratoren können die Installation eines Produkts oder eines Patch-instance ändern, das im Computerkontext oder unter ihrem eigenen Benutzerkontext (verwaltet oder nicht verwaltet) vorhanden ist. Sie können die Installation eines Produkts oder eines Patch-instance ändern, der im benutzerspezifischen verwalteten Kontext eines Benutzers vorhanden ist. Administratoren können die Installation eines Produkts oder eines Patch-instance eines anderen Benutzers, der unter dem benutzerspezifischen nicht verwalteten Kontext des anderen Benutzers vorhanden ist, nicht ändern.
Nicht-Administratoren können die Installation eines Produkts oder eines Patch-instance nicht ändern, der im Benutzerkontext eines anderen Benutzers (verwaltet oder nicht verwaltet) vorhanden ist. Sie können die Installation eines Produkts oder eines Patches instance ändern, das unter ihrem eigenen benutzerspezifischen nicht verwalteten Kontext vorhanden ist. Sie können die Installation eines Produkts oder Patch-instance unter dem Computerkontext oder ihrem eigenen benutzerseitig verwalteten Kontext nur ändern, wenn sie für die Suche nach einem Produkt oder einer Patchquelle aktiviert sind. Benutzer können aktiviert werden, um nach Quellen zu suchen, indem Sie eine Richtlinie festlegen. Weitere Informationen finden Sie unter DisableBrowse, AllowLockdownBrowse und AlwaysInstallElevated .
Hinweis
Der msi.h-Header definiert MsiSourceListGetInfo 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
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 |