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.

Typ der SID Bedeutung
NULL
NULL bezeichnet den aktuell angemeldeten Benutzer. Beim Verweisen auf das aktuelle Benutzerkonto kann szUserSIDNULL und dwContext MSIINSTALLCONTEXT_USERMANAGED oder MSIINSTALLCONTEXT_USERUNMANAGED sein.
Benutzer-SID
Gibt die Enumeration für einen bestimmten Benutzer im System an. Ein Beispiel für eine Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge s-1-5-18 (System) kann nicht zum Auflisten von Produkten oder Patches verwendet werden, die pro Computer installiert sind. Wenn Sie den SID-Wert auf s-1-5-18 festlegen, wird ERROR_INVALID_PARAMETER zurückgegeben.
 
Hinweis Die spezielle SID-Zeichenfolge s-1-1-0 (jeder) sollte nicht verwendet werden. Das Festlegen des SID-Werts auf s-1-1-0 schlägt fehl und gibt ERROR_INVALID_PARAM zurück.
 

[in] dwContext

Dieser Parameter gibt den Kontext des Produkt- oder Patch-instance an. Dieser Parameter kann einen der folgenden Werte enthalten.

Typ des Kontexts Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Das Produkt oder patch instance ist im benutzerseitig verwalteten Kontext vorhanden.
MSIINSTALLCONTEXT_USERUNMANAGED
Das Produkt oder der Patch instance ist im nicht verwalteten Benutzerkontext vorhanden.
MSIINSTALLCONTEXT_MACHINE
Das Produkt oder der Patch instance ist im Kontext pro Computer vorhanden.

[in] dwOptions

Der dwOptions-Wert gibt die Bedeutung von szProductCodeOrPatchCode an.

Flag Bedeutung
MSICODE_PRODUCT
szProductCodeOrPatchCode ist eine Produktcode-GUID.
MSICODE_PATCH
szProductCodeOrPatchCode ist eine Patchcode-GUID.

[in] szProperty

Eine NULL-Zeichenfolge, die den abzurufenden Eigenschaftswert angibt. Der szProperty-Parameter kann einen der folgenden Werte annehmen.

Name Bedeutung
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Der Pfad relativ zum Stammverzeichnis des Installationsmediums.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Die Eingabeaufforderungsvorlage, die verwendet wird, wenn der Benutzer zur Eingabe von Installationsmedien aufgefordert wird.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
Der zuletzt verwendete Quellspeicherort für das Produkt.
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
Ein "n", wenn die zuletzt verwendete Quelle ein Netzwerkstandort ist. Ein "u", wenn die zuletzt verwendete Quelle ein URL-Speicherort ist. Ein "m", wenn die zuletzt verwendete Quelle Medien ist. Eine leere Zeichenfolge (""), wenn keine zuletzt verwendete Quelle vorhanden ist.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Der Name des Windows Installer-Pakets oder des Patchpakets in der Quelle.

[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
ERROR_ACCESS_DENIED
Der Benutzer kann die angegebene Quellliste nicht lesen. Dies gibt nicht an, ob ein Produkt oder Patch gefunden wird.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
Ein ungültiger Parameter wird an die Funktion übergeben.
ERROR_MORE_DATA
Der bereitgestellte Puffer reicht nicht aus, um die angeforderten Daten zu enthalten.
ERROR_SUCCESS
Die Eigenschaft wird erfolgreich abgerufen.
ERROR_UNKNOWN_PATCH
Der Patch wurde nicht gefunden.
ERROR_UNKNOWN_PRODUCT
Das Produkt wurde nicht gefunden.
ERROR_UNKNOWN_PROPERTY
Die Quelleigenschaft wurde nicht gefunden.
ERROR_FUNCTION_FAILED
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

Weitere Informationen

MsiSourceListSetInfo

In Windows Installer 2.0 und früher nicht unterstützt

ProductCode