Freigeben über


MsiQueryFeatureStateExA-Funktion (msi.h)

Die MsiQueryFeatureStateEx--Funktion gibt den installierten Zustand für ein Produktfeature zurück. Diese Funktion kann verwendet werden, um ein beliebiges Feature einer Instanz eines Produkts abzufragen, das unter dem Computerkonto oder einem Kontext unter dem aktuellen Benutzerkonto oder dem vom Benutzer verwalteten Kontext unter einem anderen Benutzerkonto als dem aktuellen Benutzer installiert ist. Ein Benutzer muss über Administratorrechte verfügen, um Informationen für ein Produkt abzurufen, das für einen anderen Benutzer als den aktuellen Benutzer installiert ist.

Syntax

UINT MsiQueryFeatureStateExA(
  [in]            LPCSTR            szProductCode,
  [in]            LPCSTR            szUserSid,
  [in]            MSIINSTALLCONTEXT dwContext,
  [in]            LPCSTR            szFeature,
  [out, optional] INSTALLSTATE      *pdwState
);

Parameter

[in] szProductCode

ProductCode GUID des Produkts, das das interessante Feature enthält.

[in] szUserSid

Gibt die Sicherheits-ID (SID) des Kontos an, unter dem die Instanz des abgefragten Produkts vorhanden ist. Wenn dwContext- nicht MSIINSTALLCONTEXT_MACHINEist, gibt ein NULL-Wert den aktuellen Benutzer an.

Typ der SID Bedeutung
NULL-
NULL gibt den aktuell angemeldeten Benutzer an.
Benutzer-SID-
Gibt die Aufzählung für einen bestimmten Benutzer im System an. Ein Beispiel für die Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge s-1-5-18 (System) kann nicht zum Aufzählen von Features von Produkten verwendet werden, die pro Computer installiert sind. Wenn dwContext-MSIINSTALLCONTEXT_MACHINEist, muss szUserSid null sein.
 

[in] dwContext

Der Installationskontext der produktinstanz, die abgefragt wird.

Name Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Ruft den Featurestatus für die vom Benutzer verwaltete Instanz des Produkts ab.
MSIINSTALLCONTEXT_USERUNMANAGED
Ruft den Featurestatus für die nicht verwaltete Instanz des Produkts pro Benutzer ab.
Hinweis Wenn die Abfrage für ein Produkt ausgeführt wird, das unter dem nicht verwalteten Kontext pro Benutzer für ein benutzerkontobezogenes Benutzerkonto als den aktuellen Benutzer installiert ist, schlägt die Funktion fehl.
 
MSIINSTALLCONTEXT_MACHINE
Ruft den Featurestatus für die Instanz pro Computer des Produkts ab.

[in] szFeature

Gibt das feature an, das abgefragt wird. Bezeichner des Features, wie in der Spalte Feature- der Featuretabellegefunden.

[out, optional] pdwState

Installationsstatus des Features für die angegebene Produktinstanz. Dieser Parameter kann einen der folgenden oder null zurückgeben.

Wert Bedeutung
INSTALLSTATE_ADVERTISED
Dieses Feature wird angekündigt.
INSTALLSTATE_LOCAL
Das Feature wird lokal installiert.
INSTALLSTATE_SOURCE
Das Feature wird installiert, um von der Quelle aus ausgeführt zu werden.

Rückgabewert

Die MsiQueryFeatureStateEx--Funktion gibt die folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
Ein Benutzer muss über Administratorrechte verfügen, um Informationen für ein Produkt abzurufen, das für einen anderen Benutzer als den aktuellen Benutzer installiert ist.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INVALID_PARAMETER
An die Funktion wurde ein ungültiger Parameter übergeben.
ERROR_SUCCESS
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_UNKNOWN_FEATURE
Die Feature-ID identifiziert kein bekanntes Feature.
ERROR_UNKNOWN_PRODUCT
Der Produktcode identifiziert kein bekanntes Produkt.
ERROR_FUNCTION_FAILED
Unerwarteter interner Fehler.
 

Weitere Informationen finden Sie unter Angezeigte Fehlermeldungen.

Bemerkungen

Die MsiQueryFeatureStateEx--Funktion überprüft nicht, ob auf das Feature tatsächlich zugegriffen werden kann. Die MsiQueryFeatureStateEx--Funktion überprüft die Feature-ID nicht. ERROR_UNKNOWN_FEATURE wird für eine unbekannte Feature-ID zurückgegeben. Wenn die Abfrage für ein Produkt ausgeführt wird, das unter dem nicht verwalteten Kontext pro Benutzer für ein anderes Benutzerkonto als den aktuellen Benutzer installiert ist, schlägt die Funktion fehl. In diesem Fall gibt die Funktion ERROR_UNKNOWN_FEATUREzurück oder wenn das Produkt nur beworben wird (nicht installiert), ERROR_UNKNOWN_PRODUCT zurückgegeben wird.

Anmerkung

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

Angezeigte Fehlermeldungen

Featuretabelle

MsiQueryFeatureState-

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

ProductCode-

Systemstatusfunktionen