MsiQueryFeatureStateExA 関数 (msi.h)
MsiQueryFeatureStateEx 関数は、製品機能のインストール済み状態を返します。 この関数を使用すると、マシン アカウントの下にインストールされている製品のインスタンスの任意の機能、または現在のユーザー アカウントの下のコンテキスト、または現在のユーザー以外の任意のユーザー アカウントのユーザーごとの管理コンテキストに対してクエリを実行できます。 現在のユーザー以外のユーザーに対してインストールされている製品の情報を取得するには、ユーザーに管理者権限が必要です。
構文
UINT MsiQueryFeatureStateExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szFeature,
[out, optional] INSTALLSTATE *pdwState
);
パラメーター
[in] szProductCode
Productcode 目的の機能を含む製品の GUID。
[in] szUserSid
クエリ対象の製品のインスタンスが存在するアカウントのセキュリティ識別子 (SID) を指定します。 dwContext がMSIINSTALLCONTEXT_MACHINEされていない場合、null 値は現在のユーザーを指定します。
SID の種類 | 意味 |
---|---|
|
NULL は、現在ログオンしているユーザーを表します。 |
|
システム内の特定のユーザーの列挙を指定します。 ユーザー SID の例としては、"S-1-3-64-2415071341-1358098788-3127455600-2561" があります。 |
[in] dwContext
クエリ対象の製品インスタンスのインストール コンテキスト。
[in] szFeature
クエリ対象の機能を指定します。 フィーチャー テーブルの [フィーチャー] 列にある特徴の識別子。
[out, optional] pdwState
指定した製品インスタンスの機能のインストール状態。 このパラメーターは、次または null のいずれかを返すことができます。
値 | 意味 |
---|---|
|
この機能はアドバタイズされます。 |
|
機能はローカルにインストールされます。 |
|
機能はソースから実行されるようにインストールされます。 |
戻り値
MsiQueryFeatureStateEx 関数は、次の値を返します。
値 | 意味 |
---|---|
|
現在のユーザー以外のユーザーに対してインストールされている製品の情報を取得するには、ユーザーに管理者権限が必要です。 |
|
構成データが破損しています。 |
|
無効なパラメーターが関数に渡されました。 |
|
関数は正常に終了しました。 |
|
機能 ID では、既知の機能は識別されません。 |
|
製品コードでは既知の製品が識別されません。 |
|
予期しない内部エラー。 |
詳細については、「 表示されたエラー メッセージ」を参照してください。
注釈
MsiQueryFeatureStateEx 関数は、機能が実際にアクセス可能であることを検証しません。 MsiQueryFeatureStateEx 関数は機能 ID を検証しません。 不明 な機能 ID に対してERROR_UNKNOWN_FEATUREが返されます。 現在のユーザー以外のユーザー アカウントのユーザー非管理対象コンテキストでインストールされている製品に対してクエリを実行すると、関数は失敗します。 この場合、関数は ERROR_UNKNOWN_FEATUREを返します。または、製品のみがアドバタイズされている (インストールされていない) 場合は 、ERROR_UNKNOWN_PRODUCT が返されます。
注意
msi.h ヘッダーは、MSIQueryFeatureStateEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows インストーラーのバージョンで必要な最小 Windows サービス パックに関する情報については、Windows インストーラーの実行時の要件に関する記事を参照してください。 |
対象プラットフォーム | Windows |
ヘッダー | msi.h |
Library | Msi.lib |
[DLL] | Msi.dll |