Freigeben über


MsiQueryComponentStateA-Funktion (msi.h)

Die MsiQueryComponentState Funktion gibt den installierten Zustand für eine Komponente zurück. Diese Funktion kann eine Komponente einer Instanz eines Produkts abfragen, das unter anderen Benutzerkonten als dem aktuellen Benutzer installiert ist, vorausgesetzt, das Produkt wird nicht unter dem nicht verwalteten Kontext pro Benutzer für ein benutzerkontospezifisches Benutzerkonto als den aktuellen Benutzer angekündigt. Der Aufrufvorgang 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 MsiQueryComponentStateA(
  [in]  LPCSTR            szProductCode,
  [in]  LPCSTR            szUserSid,
  [in]  MSIINSTALLCONTEXT dwContext,
  [in]  LPCSTR            szComponentCode,
  [out] INSTALLSTATE      *pdwState
);

Parameter

[in] szProductCode

Gibt die ProductCode- GUID für das Produkt an, das die Komponente 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_MACHINE ist, gibt NULL 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 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 Status der Komponente für die vom Benutzer verwaltete Instanz des Produkts ab.
MSIINSTALLCONTEXT_USERUNMANAGED
Ruft den Status der Komponente für die nicht verwaltete Instanz des Produkts pro Benutzer ab.
MSIINSTALLCONTEXT_MACHINE
Ruft den Zustand der Komponente für die Instanz pro Computer des Produkts ab.

[in] szComponentCode

Gibt die abgefragte Komponente an. Komponentencode-GUID der Komponente, wie in der Spalte "ComponentID" der Tabelle Component zu finden.

[out] pdwState

Installationsstatus der Komponente für die angegebene Produktinstanz. Dieser Parameter kann einen der folgenden oder NULL-Werte zurückgeben.

Wert Bedeutung
INSTALLSTATE_LOCAL
Die Komponente wird lokal installiert.
INSTALLSTATE_SOURCE
Die Komponente wird installiert, um sie aus der Quelle auszuführen.

Rückgabewert

Die MsiQueryComponentState Funktion gibt die folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
Der Aufrufvorgang 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_COMPONENT
Die Komponenten-ID identifiziert keine bekannte Komponente.
ERROR_UNKNOWN_PRODUCT
Der Produktcode identifiziert kein bekanntes Produkt.
ERROR_FUNCTION_FAILED
Fehler, die keinem Windows-Fehlercode zugeordnet werden können.
ERROR_MORE_DATA
Puffer zu klein, um die Benutzer-SID abzurufen.
 

Weitere Informationen finden Sie unter Angezeigte Fehlermeldungen.

Bemerkungen

Anmerkung

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

Komponenten-

Angezeigte Fehlermeldungen

Installationsprogrammauswahlfunktionen

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

ProductCode-