IPropertyUI
COM公式ドキュメント
開発者は代わりに IPropertyDescription を使用してください。(IPropertyUI)
メソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティ名の文字を読み取り、そのプロパティの FMTID と PROPID を特定します。
| pszName | LPWSTR | in | 解析するプロパティ名を指定する文字列。 |
| pfmtid | GUID* | out | 解析されたプロパティの FMTID。 |
| ppid | DWORD* | out | 解析されたプロパティ名の PROPID。 |
| pchEaten | DWORD* | inout | pszName の解析で消費された文字数。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
| fmtid | GUID* | in | 対象プロパティの書式セットID(FMTID)へのポインタを渡す。 |
| pid | DWORD | in | 対象プロパティのプロパティID(PID)を指定する。 |
| pwszText | LPWSTR | out | 正規名を受け取るバッファへのポインタを渡す。 |
| cchText | DWORD | in | pwszTextバッファのサイズを文字数で指定する。 |
開発者は代わりに IPropertyDescription を使用してください。ユーザーへの表示に適したプロパティ名を指定する文字列を取得します。
| fmtid | GUID* | in | プロパティの FMTID。 |
| pid | DWORD | in | プロパティの PROPID。 |
| flags | PROPERTYUI_NAME_FLAGS | in | 次の PROPERTYUI_NAME_FLAGS 値のいずれか: PUIFNF_DEFAULT (0x00000000)0x00000000。 PUIFNF_MNEMONIC (0x00000001)0x00000001。表示名にニーモニックを含めます。 |
| pwszText | LPWSTR | out | プロパティを指定する文字列。 |
| cchText | DWORD | in | プロパティ表示名の長さ。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティのプロパティ説明を取得します。
| fmtid | GUID* | in | プロパティの FMTID。 |
| pid | DWORD | in | プロパティの PROPID。 |
| pwszText | LPWSTR | out | プロパティの説明。 |
| cchText | DWORD | in | プロパティ説明の長さ。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
開発者は代わりに IPropertyDescription を使用してください。プロパティ説明の幅を取得します。
| fmtid | GUID* | in | プロパティの FMTID。 |
| pid | DWORD | in | プロパティの PROPID。 |
| pcxChars | DWORD* | out | プロパティ説明の幅。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
開発者は代わりに IPropertyDescription を使用してください。指定されたプロパティのプロパティ機能フラグを取得します。
| fmtid | GUID* | in | プロパティの FMTID。 |
| pid | DWORD | in | プロパティの PROPID。 |
| pflags | PROPERTYUI_FLAGS* | out | プロパティの PROPERTYUI_FLAGS。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
開発者は代わりに IPropertyDescription を使用してください。プロパティ値の書式化された Unicode 文字列表現を取得します。
| fmtid | GUID* | in | |
| pid | DWORD | in | |
| ppropvar | PROPVARIANT* | in | プロパティの型と値を格納する PROPVARIANT 構造体。 |
| puiff | PROPERTYUI_FORMAT_FLAGS | in | 返されるプロパティ値の書式。 PUIFFDF_DEFAULT (0x00000000)0x00000000。 PUIFFDF_RIGHTTOLEFT (0x00000001)0x00000001。非推奨。使用しないでください。 PUIFFDF_SHORTFORMAT (0x00000002)0x00000002。文字列の短い書式版を使用します。 PUIFFDF_NOTIME (0x00000004)0x00000004。時刻を日単位に切り詰め、時/分/秒は含めません。 PUIFFDF_FRIENDLYDATE (0x00000008)0x00000008。日付にフレンドリ名(「今日」「昨日」など)を使用します。 |
| pwszText | LPWSTR | out | 表示用に書式化されたプロパティ値。 |
| cchText | DWORD | in |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
開発者は代わりに IPropertyDescription を使用してください。(IPropertyUI.GetHelpInfo)
| fmtid | GUID* | in | プロパティの FMTID。 |
| pid | DWORD | in | プロパティの PROPID。 |
| pwszHelpFile | LPWSTR | out | ヘルプファイルの完全修飾パス。 |
| cch | DWORD | in | |
| puHelpID | DWORD* | out | プロパティのヘルプコンテキスト ID。 |
戻り値
Type: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
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 方式にも切替可。#define global IID_IPropertyUI "{757A7D9F-919A-4118-99D7-DBB208C8CC66}" #usecom global IPropertyUI IID_IPropertyUI "{}" #comfunc global IPropertyUI_ParsePropertyName 3 wstr,sptr,sptr,sptr #comfunc global IPropertyUI_GetCannonicalName 4 sptr,int,sptr,int #comfunc global IPropertyUI_GetDisplayName 5 sptr,int,int,sptr,int #comfunc global IPropertyUI_GetPropertyDescription 6 sptr,int,sptr,int #comfunc global IPropertyUI_GetDefaultWidth 7 sptr,int,sptr #comfunc global IPropertyUI_GetFlags 8 sptr,int,sptr #comfunc global IPropertyUI_FormatForDisplay 9 sptr,int,sptr,int,sptr,int #comfunc global IPropertyUI_GetHelpInfo 10 sptr,int,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。