Freigeben über


MsiEnumClientsExW-Funktion (msi.h)

Die MsiEnumClientsEx--Funktion listet die installierten Anwendungen auf, die eine angegebene Komponente verwenden. Die Funktion ruft jedes Mal, wenn sie aufgerufen wird, einen Produktcode für eine Anwendung ab.

Windows Installer 4.5 oder einer früheren: Nicht unterstützt. Diese Funktion ist ab Windows Installer 5.0 verfügbar.

Syntax

UINT MsiEnumClientsExW(
  [in]                LPCWSTR           szComponent,
  [in, optional]      LPCWSTR           szUserSid,
  [in]                DWORD             dwContext,
  [in]                DWORD             dwProductIndex,
  [out, optional]     WCHAR [39]        szProductBuf,
  [out, optional]     MSIINSTALLCONTEXT *pdwInstalledContext,
  [out, optional]     LPWSTR            szSid,
  [in, out, optional] LPDWORD           pcchSid
);

Parameter

[in] szComponent

Die Komponentencode-GUID, die die Komponente identifiziert. Die Funktion listet die Anwendungen auf, die diese Komponente verwenden.

[in, optional] szUserSid

Ein null-beendeter Zeichenfolgenwert, der einen Sicherheitsbezeichner (SID) enthält. Die Aufzählung von Anwendungen erstreckt sich auf Benutzer, die von dieser SID identifiziert wurden. Die spezielle SID-Zeichenfolge s-1-1-0 (Jeder) listet alle Anwendungen für alle Benutzer im System auf. Ein anderer SID-Wert als s-1-1-0 gibt eine Benutzer-SID für einen bestimmten Benutzer an und listet die Instanzen von Anwendungen auf, die vom angegebenen Benutzer installiert wurden.

SID-Typ Bedeutung
NULL-
Gibt den aktuell angemeldeten Benutzer an.
Benutzer-SID-
Gibt eine Aufzählung für einen bestimmten Benutzer an. Ein Beispiel für eine Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
s-1-1-0-
Gibt eine Aufzählung für alle Benutzer im System an.
 
Hinweis Die spezielle SID-Zeichenfolge s-1-5-18 (System) kann nicht zum Aufzählen von Anwendungen verwendet werden, die im Installationskontext pro Computer vorhanden sind. Durch Festlegen des SID-Werts auf s-1-5-18 wird ERROR_INVALID_PARAMETERzurückgegeben. Wenn dwContext- nur auf MSIINSTALLCONTEXT_MACHINE festgelegt ist, muss der Wert szUserSid-NULL-sein.
 

[in] dwContext

Ein Flag, das die Enumeration auf Instanzen von Anwendungen erweitert, die im angegebenen Installationskontext installiert sind. Die Aufzählung enthält nur Instanzen von Anwendungen, die von den von szUserSididentifizierten Benutzern installiert werden.

Dies kann eine Kombination der folgenden Werte sein.

Zusammenhang Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
1
Fügen Sie Anwendungen in den vom Benutzer verwalteten Installationskontext ein.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Fügen Sie Anwendungen ein, die im benutzerspezifischen, nicht verwalteten Installationskontext installiert sind.
MSIINSTALLCONTEXT_MACHINE
4
Einschließen von Anwendungen, die im Installationskontext pro Computer installiert sind. Wenn dwInstallContext- nur auf MSIINSTALLCONTEXT_MACHINE festgelegt ist, muss der Wert des szUserSID--Parameters NULLsein.

[in] dwProductIndex

Gibt den Index der abzurufenden Anwendung an. Der Wert dieses Parameters muss im ersten Aufruf der Funktion null (0) sein. Für jeden nachfolgenden Aufruf muss der Index um 1 erhöht werden. Der Index sollte nur erhöht werden, wenn der vorherige Aufruf der Funktion ERROR_SUCCESSzurückgibt.

[out, optional] szProductBuf

Ein Zeichenfolgenwert, der den Produktcode für die Anwendung empfängt. Die Länge des Puffers an dieser Position sollte groß genug sein, um einen Null-beendeten Zeichenfolgenwert mit dem Produktcode zu enthalten. Die ersten 38 TCHAR- Zeichen empfangen die GUID für die Komponente, und das 39. Zeichen empfängt ein endendes NULL-Zeichen.

[out, optional] pdwInstalledContext

Ein Kennzeichen, das den Installationskontext der Anwendung angibt.

Dies kann eine Kombination der folgenden Werte sein.

Zusammenhang Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
1
Die Anwendung wird im vom Benutzer verwalteten Installationskontext installiert.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Die Anwendung wird im Benutzer-nicht verwalteten Installationskontext installiert.
MSIINSTALLCONTEXT_MACHINE
4
Die Anwendung befindet sich im Installationskontext pro Computer.

[out, optional] szSid

Empfängt die Sicherheits-ID (SID), die den Benutzer identifiziert, der die Anwendung installiert hat. Der Speicherort empfängt einen leeren Zeichenfolgenwert, wenn diese Instanz der Anwendung in einem Installationskontext pro Computer vorhanden ist.

Die Länge des Puffers sollte groß genug sein, um einen Null-beendeten Zeichenfolgenwert mit der SID zu enthalten. Wenn der Puffer zu klein ist, gibt die Funktion ERROR_MORE_DATA zurück und die Position, auf die durch pcchSid verwiesen wird, erhält die Anzahl der TCHAR- in der SID, nicht einschließlich des endenden NULL-Zeichens.

Wenn szSid- auf NULL- festgelegt ist und pcchSid- ein gültiger Zeiger auf einen Speicherort im Arbeitsspeicher ist, gibt die Funktion ERROR_SUCCESS zurück, und die Position empfängt die Anzahl der TCHAR- in der SID, nicht einschließlich des endenden Nullzeichens. Die Funktion kann dann erneut aufgerufen werden, um den Wert abzurufen, wobei die größe des szSid Puffer groß genug ist, um *pcchSid + 1 Zeichen zu enthalten.

SID-Typ Bedeutung
Leere Zeichenfolge
Die Anwendung wird in einem Installationskontext pro Computer installiert.
Benutzer-SID-
Die SID für den Benutzer, der das Produkt installiert hat.

[in, out, optional] pcchSid

Zeiger auf einen Speicherort im Arbeitsspeicher, der eine Variable enthält, die die Anzahl der TCHAR- in der SID angibt, nicht einschließlich des endenden Nullzeichens. Wenn die Funktion zurückgegeben wird, wird diese Variable auf die Größe der angeforderten SID festgelegt, unabhängig davon, ob die Funktion die SID erfolgreich kopieren und das NULL-Zeichen in den Pufferspeicherort beenden kann, auf den szSidverweist. Die Größe wird als Die Anzahl der TCHAR im angeforderten Wert zurückgegeben, nicht einschließlich des endenden NULL-Zeichens.

Dieser Parameter kann nur auf NULL- festgelegt werden, wenn szSid auch NULL-ist, andernfalls gibt die Funktion ERROR_INVALID_PARAMETERzurück. Wenn szSid und pcchSid beide auf NULL-festgelegt sind, gibt die Funktion ERROR_SUCCESS zurück, wenn die SID vorhanden ist, ohne den SID-Wert abzurufen.

Rückgabewert

Die MsiEnumClientsEx--Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Administratorrechte müssen Komponenten von Anwendungen aufzählen, die von anderen Benutzern als dem aktuellen Benutzer installiert wurden.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
An die Funktion wird ein ungültiger Parameter übergeben.
ERROR_NO_MORE_ITEMS
Es gibt keine weiteren Anwendungen, die aufgezählt werden sollen.
ERROR_SUCCESS
Die Funktion war erfolgreich.
ERROR_MORE_DATA
Der bereitgestellte Puffer war zu klein, um den gesamten Wert zu halten.
ERROR_FUNCTION_FAILED
Fehler bei der Funktion.

Bemerkungen

Anmerkung

Der msi.h-Header definiert MsiEnumClientsEx 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. 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