Win32 API 日本語リファレンス
ホームUI.Shell.PropertiesSystem › IPropertyUI

IPropertyUI

COM
IID757a7d9f-919a-4118-99d7-dbb208c8cc66継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

開発者は代わりに IPropertyDescription を使用してください。(IPropertyUI)

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT ParsePropertyName(LPWSTR pszName, GUID* pfmtid, DWORD* ppid, DWORD* pchEaten)

開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティ名の文字を読み取り、そのプロパティの FMTID と PROPID を特定します。

pszNameLPWSTRin解析するプロパティ名を指定する文字列。
pfmtidGUID*out解析されたプロパティの FMTID。
ppidDWORD*out解析されたプロパティ名の PROPID。
pchEatenDWORD*inoutpszName の解析で消費された文字数。

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 4 HRESULT GetCannonicalName(GUID* fmtid, DWORD pid, LPWSTR pwszText, DWORD cchText)
fmtidGUID*in対象プロパティの書式セットID(FMTID)へのポインタを渡す。
pidDWORDin対象プロパティのプロパティID(PID)を指定する。
pwszTextLPWSTRout正規名を受け取るバッファへのポインタを渡す。
cchTextDWORDinpwszTextバッファのサイズを文字数で指定する。
vtbl 5 HRESULT GetDisplayName(GUID* fmtid, DWORD pid, PROPERTYUI_NAME_FLAGS flags, LPWSTR pwszText, DWORD cchText)

開発者は代わりに IPropertyDescription を使用してください。ユーザーへの表示に適したプロパティ名を指定する文字列を取得します。

fmtidGUID*inプロパティの FMTID。
pidDWORDinプロパティの PROPID。
flagsPROPERTYUI_NAME_FLAGSin

次の PROPERTYUI_NAME_FLAGS 値のいずれか:

PUIFNF_DEFAULT (0x00000000)

0x00000000。

PUIFNF_MNEMONIC (0x00000001)

0x00000001。表示名にニーモニックを含めます。

pwszTextLPWSTRoutプロパティを指定する文字列。
cchTextDWORDinプロパティ表示名の長さ。

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT GetPropertyDescription(GUID* fmtid, DWORD pid, LPWSTR pwszText, DWORD cchText)

開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティのプロパティ説明を取得します。

fmtidGUID*inプロパティの FMTID。
pidDWORDinプロパティの PROPID。
pwszTextLPWSTRoutプロパティの説明。
cchTextDWORDinプロパティ説明の長さ。

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT GetDefaultWidth(GUID* fmtid, DWORD pid, DWORD* pcxChars)

開発者は代わりに IPropertyDescription を使用してください。プロパティ説明の幅を取得します。

fmtidGUID*inプロパティの FMTID。
pidDWORDinプロパティの PROPID。
pcxCharsDWORD*outプロパティ説明の幅。

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 8 HRESULT GetFlags(GUID* fmtid, DWORD pid, PROPERTYUI_FLAGS* pflags)

開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティのプロパティ機能フラグを取得します。

fmtidGUID*inプロパティの FMTID。
pidDWORDinプロパティの PROPID。
pflagsPROPERTYUI_FLAGS*outプロパティの PROPERTYUI_FLAGS

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 9 HRESULT FormatForDisplay(GUID* fmtid, DWORD pid, PROPVARIANT* ppropvar, PROPERTYUI_FORMAT_FLAGS puiff, LPWSTR pwszText, DWORD cchText)

開発者は代わりに IPropertyDescription を使用してください。プロパティ値の書式化された Unicode 文字列表現を取得します。

fmtidGUID*in
pidDWORDin
ppropvarPROPVARIANT*inプロパティの型と値を格納する PROPVARIANT 構造体。
puiffPROPERTYUI_FORMAT_FLAGSin

返されるプロパティ値の書式。

PUIFFDF_DEFAULT (0x00000000)

0x00000000。

PUIFFDF_RIGHTTOLEFT (0x00000001)

0x00000001。非推奨。使用しないでください。

PUIFFDF_SHORTFORMAT (0x00000002)

0x00000002。文字列の短い書式版を使用します。

PUIFFDF_NOTIME (0x00000004)

0x00000004。時刻を日単位に切り詰め、時/分/秒は含めません。

PUIFFDF_FRIENDLYDATE (0x00000008)

0x00000008。日付にフレンドリ名(「今日」「昨日」など)を使用します。

pwszTextLPWSTRout表示用に書式化されたプロパティ値。
cchTextDWORDin

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 10 HRESULT GetHelpInfo(GUID* fmtid, DWORD pid, LPWSTR pwszHelpFile, DWORD cch, DWORD* puHelpID)

開発者は代わりに IPropertyDescription を使用してください。(IPropertyUI.GetHelpInfo)

fmtidGUID*inプロパティの FMTID。
pidDWORDinプロパティの PROPID。
pwszHelpFileLPWSTRoutヘルプファイルの完全修飾パス。
cchDWORDin
puHelpIDDWORD*outプロパティのヘルプコンテキスト ID。

戻り値

Type: HRESULT

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IPropertyUI "{757A7D9F-919A-4118-99D7-DBB208C8CC66}"
#usecom global IPropertyUI IID_IPropertyUI "{}"
#comfunc global IPropertyUI_ParsePropertyName       3 wstr,var,var,var
#comfunc global IPropertyUI_GetCannonicalName       4 var,int,var,int
#comfunc global IPropertyUI_GetDisplayName          5 var,int,int,var,int
#comfunc global IPropertyUI_GetPropertyDescription  6 var,int,var,int
#comfunc global IPropertyUI_GetDefaultWidth         7 var,int,var
#comfunc global IPropertyUI_GetFlags                8 var,int,var
#comfunc global IPropertyUI_FormatForDisplay        9 var,int,var,int,var,int
#comfunc global IPropertyUI_GetHelpInfo             10 var,int,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。