MsiSourceListGetInfoW-Funktion (msi.h)
Die MsiSourceListGetInfo Funktion ruft Informationen zur Quellliste für ein Produkt oder Patch in einem bestimmten Kontext ab.
Syntax
UINT MsiSourceListGetInfoW(
[in] LPCWSTR szProductCodeOrPatchCode,
[in, optional] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Parameter
[in] szProductCodeOrPatchCode
Die ProductCode oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine mit Null beendete Zeichenfolge. Wenn die Zeichenfolge länger als 39 Zeichen ist, schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETER zurück. Dieser Parameter kann nicht NULL-werden.
[in, optional] szUserSid
Dieser Parameter kann eine Zeichenfolgensicherheits-ID (STRING Security Identifier, 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 szUserSID-NULL- sein und dwContext- MSIINSTALLCONTEXT_MACHINE sein.
[in] dwContext
Dieser Parameter gibt den Kontext der Produkt- oder Patchinstanz an. Dieser Parameter kann einen der folgenden Werte enthalten.
[in] dwOptions
Der wert dwOptions gibt die Bedeutung szProductCodeOrPatchCodean.
Flagge | Bedeutung |
---|---|
|
szProductCodeOrPatchCode ist eine Produktcode-GUID. |
|
szProductCodeOrPatchCode ist eine Patchcode-GUID. |
[in] szProperty
Eine mit Null beendete Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty--Parameter kann einer der folgenden Werte sein:
[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 der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens.
Wenn die 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 der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei szValue Puffer 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 der TCHAR- im szValue- Puffer angibt. Wenn die Funktion zurückgegeben wird, wird dieser Parameter auf die Größe des angeforderten Werts festgelegt, unabhängig davon, ob die Funktion den Wert in den angegebenen Puffer kopiert. Die Größe wird als Die Anzahl der TCHAR- im angeforderten Wert zurückgegeben, nicht einschließlich des endenden Nullzeichens.
Dieser Parameter kann nur dann auf NULL- festgelegt werden, wenn szValue- auch 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 hat nicht die Möglichkeit, die angegebene Quellliste zu lesen. Dies gibt nicht an, ob ein Produkt oder Patch gefunden wird. |
|
Die Konfigurationsdaten sind beschädigt. |
|
An die Funktion wird ein ungültiger Parameter ü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. |
|
Unerwarteter interner Fehler. |
Bemerkungen
Administratoren können die Installation eines Produkts oder einer Patchinstanz ändern, die im Computerkontext oder im eigenen Benutzerkontext vorhanden ist (verwaltet oder nicht verwaltet).) Sie können die Installation eines Produkts oder einer Patchinstanz ändern, die im vom Benutzer verwalteten Kontext vorhanden ist. Administratoren können die Installation eines Produkts oder einer Patchinstanz eines anderen Benutzers nicht ändern, die im kontextbasierten Kontext eines anderen Benutzers vorhanden ist.
Nicht-Administratoren können die Installation eines Produkts oder einer Patchinstanz nicht ändern, die im Benutzerkontext eines anderen Benutzers vorhanden ist (verwaltet oder nicht verwaltet.) Sie können die Installation eines Produkts oder einer Patchinstanz ändern, die unter ihrem eigenen benutzerspezifischen nicht verwalteten Kontext vorhanden ist. Sie können die Installation eines Produkts oder einer Patchinstanz im Computerkontext oder in ihrem eigenen vom Benutzer verwalteten Kontext nur ändern, wenn sie für die Suche nach einer Produkt- oder Patchquelle aktiviert sind. Benutzer können aktiviert werden, um nach Quellen zu suchen, indem Sie eine Richtlinie festlegen. Weitere Informationen finden Sie unter DisableBrowse, AllowLockdownBrowseund AlwaysInstallElevated Policies.
Anmerkung
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
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 3.0 oder höher 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 |
Siehe auch
in Windows Installer 2.0 und früheren nicht unterstützt