IUserInputString
COM公式ドキュメント
IUserInputString インターフェイスは、ユーザーに文字列の入力を求めるときに作成されるオブジェクトを表します。たとえば、タグの名前を取得するときに使用されます。
メソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
GetSubmitButtonText メソッドは、送信ボタンのテキストを取得します。
| pbstrSubmitButtonText | LPWSTR* | out | 送信ボタンのテキストを格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetPrompt メソッドは、プロンプトがモーダルダイアログボックスである場合に、そのプロンプトのタイトルを取得します。
| pbstrPromptTitle | LPWSTR* | out | プロンプトのタイトルを格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetStringId メソッドは、要求された文字列のローカライズされていない正規名を取得します。たとえば、タグ名を要求する場合、正規名は "TagName" のようになります。
| pbstrStringId | LPWSTR* | out | 文字列識別子 (ID) を格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetStringType メソッドは、ユーザーから取得する文字列の種類を示す値を取得します。
| pnStringType | USER_INPUT_STRING_TYPE* | out | 文字列の種類を格納する整数値へのポインター。
|
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetTooltipText メソッドは、コントロールに表示されるツールチップのテキストを取得します。
| pbstrTooltipText | LPWSTR* | out | ツールチップのテキストを格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetMaxLength メソッドは、ユーザーインターフェイス (UI) が許可すべき最大文字列長を取得します。
| pcchMaxLength | DWORD* | out | 最大文字列長を文字数で示すサイズへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetDefault メソッドは、エディットコントロール (またはそれに相当するもの) の初期化に使用する既定の文字列を取得します。
| pbstrDefault | LPWSTR* | out | エディットコントロールの初期化に使用する既定値を格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 渡されたポインターが NULL でした。 |
GetMruCount メソッドは、最近使用した項目のリストに含まれる項目数を取得します。
| pnMruCount | DWORD* | out | 最近使用した項目のリストに含まれる項目数を格納する整数値へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
解説(Remarks)
エラーが発生した場合、pnMruCount は 0 に設定されます。
GetMruEntryAt メソッドは、最近使用したリスト内の指定されたインデックスにあるエントリを取得します。
| nIndex | DWORD | in | エントリを取得するインデックスを格納する整数。 |
| pbstrMruEntry | LPWSTR* | out | 最近使用したエントリを格納する文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
GetImage メソッドは、エディットコントロールの初期化に使用する既定の画像を取得します。
| nSize | DWORD | in | 画像のサイズを格納する整数。 |
| phBitmap | HBITMAP* | inoutoptional | 画像ビットマップを指定するハンドルへのポインター。 |
| phIcon | HICON* | inoutoptional | 画像アイコンを指定するハンドルへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な場所に NULL ポインターが渡されました。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUserInputString "{00F243A1-205B-45BA-AE26-ABBC53AA7A6F}" #usecom global IUserInputString IID_IUserInputString "{}" #comfunc global IUserInputString_GetSubmitButtonText 3 var #comfunc global IUserInputString_GetPrompt 4 var #comfunc global IUserInputString_GetStringId 5 var #comfunc global IUserInputString_GetStringType 6 var #comfunc global IUserInputString_GetTooltipText 7 var #comfunc global IUserInputString_GetMaxLength 8 var #comfunc global IUserInputString_GetDefault 9 var #comfunc global IUserInputString_GetMruCount 10 var #comfunc global IUserInputString_GetMruEntryAt 11 int,var #comfunc global IUserInputString_GetImage 12 int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IUserInputString "{00F243A1-205B-45BA-AE26-ABBC53AA7A6F}" #usecom global IUserInputString IID_IUserInputString "{}" #comfunc global IUserInputString_GetSubmitButtonText 3 sptr #comfunc global IUserInputString_GetPrompt 4 sptr #comfunc global IUserInputString_GetStringId 5 sptr #comfunc global IUserInputString_GetStringType 6 sptr #comfunc global IUserInputString_GetTooltipText 7 sptr #comfunc global IUserInputString_GetMaxLength 8 sptr #comfunc global IUserInputString_GetDefault 9 sptr #comfunc global IUserInputString_GetMruCount 10 sptr #comfunc global IUserInputString_GetMruEntryAt 11 int,sptr #comfunc global IUserInputString_GetImage 12 int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。