MsiQueryFeatureStateExA-Funktion (msi.h)

Die MsiQueryFeatureStateEx-Funktion gibt den installierten Zustand für ein Produktfeature zurück. Diese Funktion kann verwendet werden, um jedes Feature einer instance eines Produkts abzufragen, das unter dem Computerkonto oder einem beliebigen Kontext unter dem aktuellen Benutzerkonto oder dem pro Benutzer verwalteten Kontext unter einem anderen Benutzerkonto als dem aktuellen Benutzer installiert ist. Ein Benutzer muss über Administratorrechte verfügen, um Informationen zu einem 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 instance des abgefragten Produkts vorhanden ist. Wenn dwContext nicht MSIINSTALLCONTEXT_MACHINE ist, gibt ein NULL-Wert den aktuellen Benutzer an.

Typ der SID Bedeutung
NULL
NULL gibt den derzeit angemeldeten Benutzer an.
Benutzer-SID
Gibt die Enumeration 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 verwendet werden, um Features von Produkten aufzulisten, die pro Computer installiert sind. Wenn dwContextMSIINSTALLCONTEXT_MACHINE ist, muss szUserSid NULL sein.
 

[in] dwContext

Der Installationskontext des abgefragten Produkts instance.

Name Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Ruft den Featurestatus für die benutzerseitig verwaltete instance des Produkts ab.
MSIINSTALLCONTEXT_USERUNMANAGED
Ruft den Featurestatus für die benutzerspezifische nicht verwaltete instance des Produkts ab.
Hinweis Wenn die Abfrage für ein Produkt ausgeführt wird, das unter dem benutzerspezifischen nicht verwalteten Kontext für ein anderes Benutzerkonto als den aktuellen Benutzer installiert ist, schlägt die Funktion fehl.
 
MSIINSTALLCONTEXT_MACHINE
Ruft den Featurestatus für die computerspezifische instance des Produkts ab.

[in] szFeature

Gibt das abgefragte Feature an. Bezeichner des Features, wie in der Spalte Feature der Featuretabelle zu finden.

[out, optional] pdwState

Installationsstatus des Features für das angegebene Produkt instance. Dieser Parameter kann eine der folgenden oder NULL-Werte zurückgeben.

Wert Bedeutung
INSTALLSTATE_ADVERTISED
Das Feature ist angekündigt.
INSTALLSTATE_LOCAL
Das Feature wird lokal installiert.
INSTALLSTATE_SOURCE
Das Feature ist für die Ausführung aus der Quelle installiert.

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 zu einem 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
Es wurde ein ungültiger Parameter an die Funktion ü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
Ein unerwarteter interner Fehler.
 

Weitere Informationen finden Sie unter Angezeigte Fehlermeldungen.

Hinweise

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 jede unbekannte Feature-ID zurückgegeben. Wenn die Abfrage für ein Produkt ausgeführt wird, das unter dem benutzerspezifischen nicht verwalteten Kontext für ein anderes Benutzerkonto als den aktuellen Benutzer installiert ist, schlägt die Funktion fehl. In diesem Fall gibt die Funktion ERROR_UNKNOWN_FEATURE zurück, oder wenn das Produkt nur angekündigt (nicht installiert) wird , wird ERROR_UNKNOWN_PRODUCT zurückgegeben.

Hinweis

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
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. Informationen zum minimal 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

Angezeigte Fehlermeldungen

Feature-Tabelle

MsiQueryFeatureState

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

ProductCode

Systemstatusfunktionen