Freigeben über


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 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

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 szUserSID-NULL- sein und dwContext- MSIINSTALLCONTEXT_MACHINE sein.

Typ der SID Bedeutung
NULL-
Ein NULL- gibt den aktuellen Benutzer an, der angemeldet ist. Beim Verweisen auf das aktuelle Benutzerkonto kann szUserSID-NULL- sein und dwContext- MSIINSTALLCONTEXT_USERMANAGED oder MSIINSTALLCONTEXT_USERUNMANAGED werden.
Benutzer-SID-
Eine Aufzählung für einen bestimmten Benutzer im System. Ein Beispiel für eine Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
s-1-1-0-
Die spezielle SID-Zeichenfolge s-1-1-0 (jeder) gibt die Enumeration für alle Benutzer im System an.
 
Hinweis Die spezielle SID-Zeichenfolge s-1-5-18 (System) kann nicht zum Aufzählen von Produkten oder Patches verwendet werden, die pro Computer installiert sind. Durch Festlegen des SID-Werts auf s-1-5-18 wird ERROR_INVALID_PARAMETER zurückgegeben.
 

[in] dwContext

Der Kontext der Produkt- oder Patchinstanz. Dieser Parameter kann einen der folgenden Werte enthalten.

Typ des Kontexts Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Die Produkt- oder Patchinstanz ist im vom Benutzer verwalteten Kontext vorhanden.
MSIINSTALLCONTEXT_USERUNMANAGED
Die Produkt- oder Patchinstanz ist im nicht verwalteten Kontext pro Benutzer vorhanden.
MSIINSTALLCONTEXT_MACHINE
Die Produkt- oder Patchinstanz ist im Kontext pro Computer vorhanden.

[in] dwOptions

Der dwOptions Wert bestimmt die Interpretation des szProductCodeOrPatchCode Werts und den zu löschenden Quellentyp. Dieser Parameter muss eine Kombination aus einer der folgenden MSISOURCETYPE_*-Konstanten und einer der folgenden MSICODE_*-Konstanten sein.

Flagge Bedeutung
MSISOURCETYPE_NETWORK
Die Quelle ist ein Netzwerktyp.
MSISOURCETYPE_URL
Die Quelle ist ein URL-Typ.
MSICODE_PRODUCT
szProductCodeOrPatchCode ist ein Produktcode.
MSICODE_PATCH
szProductCodeOrPatchCode ist ein Patchcode.

[in] dwIndex

Der Index der abzurufenden Quelle. Dieser Parameter muss 0 (null) für den ersten Aufruf der MsiSourceListEnumSources--Funktion 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 aufgezählt 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 der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens.

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 der TCHAR- im Wert fest, nicht einschließlich des endenden NULL-Zeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei szSource Puffer 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 der TCHAR- im szSource- 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 auf NULL- festgelegt werden, wenn szSource- auch NULL-ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Rückgabewert

Die MsiSourceListEnumSources-funktion gibt die folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
Der Benutzer hat nicht die Möglichkeit, die angegebene Quellliste zu lesen. Dies gibt nicht an, ob ein Produkt oder Patch gefunden wird.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
An die Funktion wird ein ungültiger Parameter übergeben.
ERROR_MORE_DATA
Der bereitgestellte Puffer reicht nicht aus, um die angeforderten Daten zu enthalten.
ERROR_NO_MORE_ITEMS
Es gibt keine weiteren Quellen in der angegebenen Liste, die aufgezählt werden sollen.
ERROR_SUCCESS
Eine Quelle wird erfolgreich aufgezählt.
ERROR_UNKNOWN_PATCH
Der angegebene Patch ist nicht auf dem Computer in den angegebenen Kontexten installiert.
ERROR_UNKNOWN_PRODUCT
Das angegebene Produkt ist nicht auf dem Computer in den angegebenen Kontexten installiert.
ERROR_FUNCTION_FAILED
Unerwarteter interner Fehler.

Bemerkungen

Wenn Mehrere Aufrufe an MsiSourceListEnumSources ausgeführt werden, alle Quellen für eine einzelne Produktinstanz aufzählen, muss jeder Aufruf aus demselben Thread erfolgen.

Ein Administrator kann benutzerspezifische nicht verwaltete und verwaltete Installationen für sich selbst, Computerinstallationen und benutzerspezifische verwaltete Installationen für jeden Benutzer auflisten. Ein Administrator kann nicht für andere Benutzer nicht verwaltete Installationen aufzählen. Nicht-Administratoren können nur ihre eigenen nicht verwalteten und verwalteten Installationen und Installationen pro Computer aufzählen.

Anmerkung

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 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

Installationskontext-

in Windows Installer 2.0 und früheren nicht unterstützt

ProductCode-