MsiGetFeatureInfoA 関数 (msi.h)
MsiGetFeatureInfo 関数は、機能の説明情報を返します。
構文
UINT MsiGetFeatureInfoA(
[in] MSIHANDLE hProduct,
[in] LPCSTR szFeature,
[out, optional] LPDWORD lpAttributes,
[out, optional] LPSTR lpTitleBuf,
[in, out, optional] LPDWORD pcchTitleBuf,
[out, optional] LPSTR lpHelpBuf,
[in, out, optional] LPDWORD pcchHelpBuf
);
パラメーター
[in] hProduct
機能を所有する製品を処理します。 このハンドルは、 MsiOpenProduct から取得されます。
[in] szFeature
返される情報に関する機能の機能コード。
[out, optional] lpAttributes
次の属性フラグの 1 つ以上を含む場所へのポインター。
INSTALLFEATUREATTRIBUTE_FAVORLOCAL (1)
INSTALLFEATUREATTRIBUTE_FAVORSOURCE (2)
INSTALLFEATUREATTRIBUTE_FOLLOWPARENT (4)
INSTALLFEATUREATTRIBUTE_FAVORADVERTISE (8)
INSTALLFEATUREATTRIBUTE_DISALLOWADVERTISE (16)
INSTALLFEATUREATTRIBUTE_NOUNSUPPORTEDADVERTISE (32)
詳細については、「
特徴テーブル。 MsiGetFeatureInfo が返す値は、フィーチャー テーブルの [属性] 列の値の 2 倍です。
[out, optional] lpTitleBuf
フィーチャーのローカライズされた名前を受け取るバッファーへのポインター。フィーチャー テーブルの [タイトル] フィールドに対応 します。
このパラメーターは省略可能で、null に設定できます。
[in, out, optional] pcchTitleBuf
入力として、 lpTitleBuf のサイズ。 出力として、 lpTitleBuf で返される文字数。 入力時には、これはバッファーのフル サイズであり、終端の null 文字用のスペースが含まれます。 渡されるバッファーが小さすぎる場合、返されるカウントには終端の null 文字は含まれません。
[out, optional] lpHelpBuf
フィーチャーのローカライズされた説明を受け取るバッファーへのポインター。フィーチャー テーブル内のフィーチャーの [説明] フィールドに対応 します。 このパラメーターは省略可能で、null に設定できます。
[in, out, optional] pcchHelpBuf
入力として、 lpHelpBuf のサイズ。 出力として、 lpHelpBuf で返される文字数。 入力時には、これはバッファーのフル サイズであり、終端の null 文字用のスペースが含まれます。 渡されたバッファーが小さすぎる場合、返されるカウントには終端の null 文字は含まれません。
戻り値
リターン コード | 説明 |
---|---|
|
製品ハンドルが無効です。 |
|
パラメーターの 1 つが無効です。 |
|
バッファーが小さすぎて、要求されたデータを保持できません。 |
|
関数は正常に返されます。 |
|
この機能は不明です。 |
解説
MsiGetFeatureInfo 関数のバッファー サイズには、終端の null 文字に余分な文字を含める必要があります。 バッファーが小さすぎる場合、返される文字列は null で切り捨てられ、バッファー サイズには文字列全体の文字数が含まれますが、終端の null 文字は含まれません。 詳細については、「 プログラムからのデータベース関数の呼び出し」を参照してください。
注意
msi.h ヘッダーは、MSIGetFeatureInfo をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | 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 Server 2003 または Windows XP の Windows インストーラー。 Windows インストーラーのバージョン別に必須となる最小 Windows サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。 |
対象プラットフォーム | Windows |
ヘッダー | msi.h |
Library | Msi.lib |
[DLL] | Msi.dll |