IConsole
COM公式ドキュメント
コンソールとの通信を可能にします。
メソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
この IComponent インスタンスで使用するヘッダーインターフェイスを設定します。これは IComponent のインスタンスからのみ使用されます。
| pHeader | IHeaderCtrl* | in | IHeaderCtrl インターフェイスへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
スナップインは、IConsole::SetHeader(NULL) を呼び出して、 IHeaderCtrl インターフェイスを解放するようコンソールに指示する必要があります。
IHeaderCtrl インターフェイスを解放するのに最適なタイミングは、 IComponent::Destroy の呼び出し中です。
この IComponent インスタンスで使用するツールバーインターフェイスを設定します。これは IComponent のインスタンスからのみ使用される点に注意してください。
| pToolbar | IToolbar* | in | IToolbar インターフェイスへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
結果ビューオブジェクトの IUnknown インターフェイスポインターを IConsole に問い合わせます。
| pUnknown | IUnknown** | out | 結果ビューオブジェクトへの IUnknown インターフェイスポインターの格納先へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
QueryResultView は、結果ビューが IDispatch インターフェイスを実装する OLE カスタムコントロール (OCX) である場合に使用できます。OCX への IUnknown ポインターを取得するには、 QueryResultView を呼び出します。これは、OCX の作成をノードマネージャーが処理するために必要です。
コンソールが提供するスコープペインのイメージリストを問い合わせます。
| ppImageList | IImageList** | out | スコープペインの IImageList インターフェイスポインターを受け取る変数のアドレス。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
コンソールが提供する結果ビューのイメージリストを取得します。このイメージリストは、スナップインが既定のリストビューを使用している場合にのみ使用してください。
| ppImageList | IImageList** | out | IImageList インターフェイスポインターを受け取る変数のアドレス。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
結果ペインの内容が変更されたときにスナップインから呼び出されます。このメソッドは IComponent と IComponentData のいずれからも呼び出すことができます。
| lpDataObject | IDataObject* | in | ユーザーが指定するデータオブジェクトへのポインター。 |
| data | LPARAM | in | ユーザー定義の値。たとえば、変更後の内容へのポインター。 |
| hint | INT_PTR | in | ユーザー定義の値。たとえば、内容変更の種類に関する情報。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
このメソッドは、このメソッドを呼び出したスナップインインスタンスに関連付けられているすべての IComponent インスタンスに MMCN_VIEW_CHANGE 通知を送信します。lpDataObject、data、hint の各パラメーターは、 IComponent::Notify メソッドの lpDataObject 引数および param として渡されます。
このメソッドは、スナップインの IComponentData 実装を通じて取得した IConsole インターフェイスポインターから呼び出す必要があります。
メッセージボックスを表示します。
| lpszText | LPWSTR | in | 表示するメッセージを格納した、null で終わる文字列へのポインター。 |
| lpszTitle | LPWSTR | in | メッセージボックスのタイトルに使用する、null で終わる文字列へのポインター。このパラメーターが NULL の場合は、既定のタイトル "Error" が使用されます。 |
| fuStyle | DWORD | in | メッセージボックスの内容と動作を決定する一連のビットフラグを指定する値。このパラメーターには、Windows API MessageBox のドキュメントから引用した次のフラググループのフラグを組み合わせて指定できます。 メッセージボックスに表示するボタンを指定するには、次のいずれかのフラグを指定します。 MB_ABORTRETRYIGNOREメッセージボックスに、[中止]、[再試行]、[無視] の 3 つのボタンが表示されます。 MB_OKメッセージボックスに [OK] ボタンが 1 つ表示されます。これが既定値です。 MB_OKCANCELメッセージボックスに [OK] と [キャンセル] の 2 つのボタンが表示されます。 MB_RETRYCANCELメッセージボックスに [再試行] と [キャンセル] の 2 つのボタンが表示されます。 MB_YESNOメッセージボックスに [はい] と [いいえ] の 2 つのボタンが表示されます。 MB_YESNOCANCELメッセージボックスに [はい]、[いいえ]、 [キャンセル] の 3 つのボタンが表示されます。 メッセージボックスに表示するアイコンを指定するには、次のいずれかのフラグを指定します。 MB_ICONEXCLAMATION, MB_ICONWARNINGメッセージボックスに感嘆符アイコンが表示されます。 MB_ICONINFORMATION, MB_ICONASTERISKメッセージボックスに、円の中に "I" が入ったアイコンが表示されます。 MB_ICONQUESTIONメッセージボックスに疑問符アイコンが表示されます。 MB_ICONSTOP,メッセージボックスに停止標識アイコンが表示されます。 既定のボタンを指定するには、次のいずれかのフラグを指定します。 MB_DEFBUTTON1このグループの他のフラグが既定として指定されていない限り、最初のボタンが既定のボタンになります。 MB_DEFBUTTON22 番目のボタンが既定のボタンになります。 MB_DEFBUTTON33 番目のボタンが既定のボタンになります。 MB_DEFBUTTON44 番目のボタンが既定のボタンになります。 ダイアログボックスのモーダル性を指定するには、次のいずれかのフラグを指定します。 MB_APPLMODALユーザーは、現在のウィンドウでの作業を続ける前にメッセージボックスに応答する必要があります。ただし、ユーザーは他のアプリケーションのウィンドウに移動して、それらのウィンドウで作業することができます。MB_SYSTEMMODAL と MB_TASKMODAL のいずれも指定されていない場合、既定値は MB_APPLMODAL です。 MB_SYSTEMMODALユーザーがメッセージボックスに応答するまで、すべてのアプリケーションが中断されます。システムモーダルのメッセージボックスは、早急な対応を要する重大で損害を与える可能性のあるエラーをユーザーに通知するために使用され、控えめに使用してください。 MB_TASKMODALMB_APPLMODAL に似ていますが、Microsoft Foundation Classes (MFC) アプリケーション内では役に立ちません。このフラグは、使用可能なウィンドウハンドルを持たない呼び出し元のアプリケーションまたはライブラリのために予約されています。 さらに、次のフラグを指定できます。 MB_DEFAULT_DESKTOP_ONLY現在入力を受け取っているデスクトップが既定のデスクトップである必要があります。そうでない場合、関数は失敗します。既定のデスクトップとは、ユーザーがログオンした後にアプリケーションが実行されるデスクトップです。 MB_HELPメッセージボックスに [ヘルプ] ボタンを追加します。 [ヘルプ] ボタンを選択するか F1 キーを押すと、ヘルプイベントが生成されます。 MB_RIGHTテキストが右揃えになります。 MB_RTLREADINGヘブライ語およびアラビア語のシステム向けに、右から左への読み順でメッセージとキャプションのテキストを表示します。 MB_SETFOREGROUNDメッセージボックスがフォアグラウンドウィンドウになります。内部的には、オペレーティングシステムがメッセージボックスに対して SetForegroundWindow 関数を呼び出します。 MB_TOPMOSTメッセージボックスは WS_EX_TOPMOST ウィンドウスタイルで作成されます。 MB_SERVICE_NOTIFICATION呼び出し元は、イベントをユーザーに通知するサービスです。この関数は、コンピューターにログオンしているユーザーがいない場合でも、現在アクティブなデスクトップにメッセージボックスを表示します。 このフラグの使用の詳細については、MessageBox 関数を参照してください。 MB_SERVICE_NOTIFICATION_NT3xこの値は、以前のバージョンの Windows で MB_SERVICE_NOTIFICATION に定義されていた値に対応します。 |
| piRetval | INT* | out | 戻り値へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
MessageBox は、スナップインがフォーカスを持っていないときに発生するエラーを表示するために使用しないでください。一般に、
MessageBox は、エラーがユーザーの注意を必要とし、かつエラーが発生しても結果ペインに有用な情報が含まれている場合にのみ使用してください。
ほとんどの場合、エラーメッセージを表示するには MMC メッセージ OCX コントロールの方が適切な方法です。詳細については、 Using the MMC Message OCX Control を参照してください。
IConsoleVerb インターフェイスを問い合わせます。
| ppConsoleVerb | IConsoleVerb** | out | IConsoleVerb インターフェイスポインターを受け取る変数のアドレスへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
このメソッドは、 IComponent インターフェイスを通じて取得した IConsole インターフェイスポインターから呼び出す必要があります。
指定されたスコープアイテムを選択します。
| hScopeItem | INT_PTR | in | 選択するスコープペイン内のアイテムへのハンドル。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
解説(Remarks)
現在選択されているスコープアイテムを再選択する場合や、別のスコープアイテムを選択する場合に、このメソッドを使用します。
1 つのスコープアイテムに対して、複数の異なるビュー(たとえば複数の OLE カスタムコントロール (OCX) ビューと既定のリストビュー)を用意できます。ユーザーがメニューから別のビューを選択すると、スナップインはそのコマンドを受け取り、 SelectScopeItem を呼び出してアイテムを再選択する必要があります。その後、 IComponent::GetResultViewType は新しいビューの種類を返すことができます。
スナップインが MMCN_EXPAND 通知ハンドラー内で SelectScopeItem を呼び出した場合、 SelectScopeItem が S_OK を返しても、MMC は指定されたスコープアイテムを選択しません。
メインフレームウィンドウへのハンドルを取得します。
| phwnd | HWND* | out | ウィンドウハンドルを受け取る変数へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
指定されたスコープアイテムをルートとする、新しいマルチドキュメントインターフェイス (MDI) 子ウィンドウを作成します。
| hScopeItem | INT_PTR | in | 新しいウィンドウのルートとなるスコープアイテム。 |
| lOptions | DWORD | in | 新しいウィンドウの作成に使用するオプションを次の一覧に示します。 MMC_NW_OPTION_NONE既定のウィンドウ設定で新しいウィンドウを表示します。これは、 [表示] コンテキストメニューから [ここから新しいウィンドウ] コマンドを選択するのとプログラム上同等です。 MMC_NW_OPTION_NOSCOPEPANE新しいウィンドウでスコープペイン(コンソールツリーペイン)を非表示にします。 MMC_NW_OPTION_NOTOOLBARS新しいウィンドウで標準ツールバーを非表示にします。スナップインにカスタムツールバーボタンやメニューがある場合は、それらが表示されます。 スナップインが標準メニューまたはツールバーに独自のアイテムを追加していても、それらのアイテムの追加によって、それらを含む標準ツールバーやメニューが強制的に表示されることはありません。 MMC_NW_OPTION_SHORTTITLEこのオプションはサポートされておらず、その定義は下位互換性のためにのみ存在します。 MMC_NW_OPTION_CUSTOMTITLEスナップインが提供するカスタムタイトルを使用します。タイトルバーのテキストには、アイテムデータオブジェクトの CCF_DISPLAY_NAME 実装によって指定された表示名が含まれます。 MMC_NW_OPTION_NOPERSIST新しいウィンドウを .msc ファイルに保存しません。 |
戻り値
このメソッドは次のいずれかの値を返すことがあります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IConsole "{43136EB1-D36C-11CF-ADBC-00AA00A80033}" #usecom global IConsole IID_IConsole "{}" #comfunc global IConsole_SetHeader 3 sptr #comfunc global IConsole_SetToolbar 4 sptr #comfunc global IConsole_QueryResultView 5 sptr #comfunc global IConsole_QueryScopeImageList 6 sptr #comfunc global IConsole_QueryResultImageList 7 sptr #comfunc global IConsole_UpdateAllViews 8 sptr,sptr,sptr #comfunc global IConsole_MessageBox 9 wstr,wstr,int,var #comfunc global IConsole_QueryConsoleVerb 10 sptr #comfunc global IConsole_SelectScopeItem 11 sptr #comfunc global IConsole_GetMainWindow 12 sptr #comfunc global IConsole_NewWindow 13 sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IConsole "{43136EB1-D36C-11CF-ADBC-00AA00A80033}" #usecom global IConsole IID_IConsole "{}" #comfunc global IConsole_SetHeader 3 sptr #comfunc global IConsole_SetToolbar 4 sptr #comfunc global IConsole_QueryResultView 5 sptr #comfunc global IConsole_QueryScopeImageList 6 sptr #comfunc global IConsole_QueryResultImageList 7 sptr #comfunc global IConsole_UpdateAllViews 8 sptr,sptr,sptr #comfunc global IConsole_MessageBox 9 wstr,wstr,int,sptr #comfunc global IConsole_QueryConsoleVerb 10 sptr #comfunc global IConsole_SelectScopeItem 11 sptr #comfunc global IConsole_GetMainWindow 12 sptr #comfunc global IConsole_NewWindow 13 sptr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。