Win32 API 日本語リファレンス
ホームSystem.Mmc › IConsole

IConsole

COM
IID43136eb1-d36c-11cf-adbc-00aa00a80033継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

コンソールとの通信を可能にします。

メソッド 11

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

vtbl 3 HRESULT SetHeader(IHeaderCtrl* pHeader)

この IComponent インスタンスで使用するヘッダーインターフェイスを設定します。これは IComponent のインスタンスからのみ使用されます。

pHeaderIHeaderCtrl*inIHeaderCtrl インターフェイスへのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

スナップインは、IConsole::SetHeader(NULL) を呼び出して、 IHeaderCtrl インターフェイスを解放するようコンソールに指示する必要があります。

IHeaderCtrl インターフェイスを解放するのに最適なタイミングは、 IComponent::Destroy の呼び出し中です。

vtbl 4 HRESULT SetToolbar(IToolbar* pToolbar)

この IComponent インスタンスで使用するツールバーインターフェイスを設定します。これは IComponent のインスタンスからのみ使用される点に注意してください。

pToolbarIToolbar*inIToolbar インターフェイスへのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

vtbl 5 HRESULT QueryResultView(IUnknown** pUnknown)

結果ビューオブジェクトの IUnknown インターフェイスポインターを IConsole に問い合わせます。

pUnknownIUnknown**out結果ビューオブジェクトへの IUnknown インターフェイスポインターの格納先へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

QueryResultView は、結果ビューが IDispatch インターフェイスを実装する OLE カスタムコントロール (OCX) である場合に使用できます。OCX への IUnknown ポインターを取得するには、 QueryResultView を呼び出します。これは、OCX の作成をノードマネージャーが処理するために必要です。

vtbl 6 HRESULT QueryScopeImageList(IImageList** ppImageList)

コンソールが提供するスコープペインのイメージリストを問い合わせます。

ppImageListIImageList**outスコープペインの IImageList インターフェイスポインターを受け取る変数のアドレス。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

vtbl 7 HRESULT QueryResultImageList(IImageList** ppImageList)

コンソールが提供する結果ビューのイメージリストを取得します。このイメージリストは、スナップインが既定のリストビューを使用している場合にのみ使用してください。

ppImageListIImageList**outIImageList インターフェイスポインターを受け取る変数のアドレス。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

vtbl 8 HRESULT UpdateAllViews(IDataObject* lpDataObject, LPARAM data, INT_PTR hint)

結果ペインの内容が変更されたときにスナップインから呼び出されます。このメソッドは IComponent と IComponentData のいずれからも呼び出すことができます。

lpDataObjectIDataObject*inユーザーが指定するデータオブジェクトへのポインター。
dataLPARAMinユーザー定義の値。たとえば、変更後の内容へのポインター。
hintINT_PTRinユーザー定義の値。たとえば、内容変更の種類に関する情報。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

このメソッドは、このメソッドを呼び出したスナップインインスタンスに関連付けられているすべての IComponent インスタンスに MMCN_VIEW_CHANGE 通知を送信します。lpDataObjectdatahint の各パラメーターは、 IComponent::Notify メソッドの lpDataObject 引数および param として渡されます。

このメソッドは、スナップインの IComponentData 実装を通じて取得した IConsole インターフェイスポインターから呼び出す必要があります。

vtbl 9 HRESULT MessageBox(LPWSTR lpszText, LPWSTR lpszTitle, DWORD fuStyle, INT* piRetval)

メッセージボックスを表示します。

lpszTextLPWSTRin表示するメッセージを格納した、null で終わる文字列へのポインター。
lpszTitleLPWSTRinメッセージボックスのタイトルに使用する、null で終わる文字列へのポインター。このパラメーターが NULL の場合は、既定のタイトル "Error" が使用されます。
fuStyleDWORDin

メッセージボックスの内容と動作を決定する一連のビットフラグを指定する値。このパラメーターには、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_ICONERROR, MB_ICONHAND

メッセージボックスに停止標識アイコンが表示されます。

既定のボタンを指定するには、次のいずれかのフラグを指定します。

MB_DEFBUTTON1

このグループの他のフラグが既定として指定されていない限り、最初のボタンが既定のボタンになります。

MB_DEFBUTTON2

2 番目のボタンが既定のボタンになります。

MB_DEFBUTTON3

3 番目のボタンが既定のボタンになります。

MB_DEFBUTTON4

4 番目のボタンが既定のボタンになります。

ダイアログボックスのモーダル性を指定するには、次のいずれかのフラグを指定します。

MB_APPLMODAL

ユーザーは、現在のウィンドウでの作業を続ける前にメッセージボックスに応答する必要があります。ただし、ユーザーは他のアプリケーションのウィンドウに移動して、それらのウィンドウで作業することができます。MB_SYSTEMMODALMB_TASKMODAL のいずれも指定されていない場合、既定値は MB_APPLMODAL です。

MB_SYSTEMMODAL

ユーザーがメッセージボックスに応答するまで、すべてのアプリケーションが中断されます。システムモーダルのメッセージボックスは、早急な対応を要する重大で損害を与える可能性のあるエラーをユーザーに通知するために使用され、控えめに使用してください。

MB_TASKMODAL

MB_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 に定義されていた値に対応します。

piRetvalINT*out戻り値へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

MessageBox は、スナップインがフォーカスを持っていないときに発生するエラーを表示するために使用しないでください。一般に、

MessageBox は、エラーがユーザーの注意を必要とし、かつエラーが発生しても結果ペインに有用な情報が含まれている場合にのみ使用してください。

ほとんどの場合、エラーメッセージを表示するには MMC メッセージ OCX コントロールの方が適切な方法です。詳細については、 Using the MMC Message OCX Control を参照してください。

vtbl 10 HRESULT QueryConsoleVerb(IConsoleVerb** ppConsoleVerb)

IConsoleVerb インターフェイスを問い合わせます。

ppConsoleVerbIConsoleVerb**outIConsoleVerb インターフェイスポインターを受け取る変数のアドレスへのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

このメソッドは、 IComponent インターフェイスを通じて取得した IConsole インターフェイスポインターから呼び出す必要があります。

vtbl 11 HRESULT SelectScopeItem(INT_PTR hScopeItem)

指定されたスコープアイテムを選択します。

hScopeItemINT_PTRin選択するスコープペイン内のアイテムへのハンドル。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

解説(Remarks)

現在選択されているスコープアイテムを再選択する場合や、別のスコープアイテムを選択する場合に、このメソッドを使用します。

1 つのスコープアイテムに対して、複数の異なるビュー(たとえば複数の OLE カスタムコントロール (OCX) ビューと既定のリストビュー)を用意できます。ユーザーがメニューから別のビューを選択すると、スナップインはそのコマンドを受け取り、 SelectScopeItem を呼び出してアイテムを再選択する必要があります。その後、 IComponent::GetResultViewType は新しいビューの種類を返すことができます。

スナップインが MMCN_EXPAND 通知ハンドラー内で SelectScopeItem を呼び出した場合、 SelectScopeItemS_OK を返しても、MMC は指定されたスコープアイテムを選択しません。

vtbl 12 HRESULT GetMainWindow(HWND* phwnd)

メインフレームウィンドウへのハンドルを取得します。

phwndHWND*outウィンドウハンドルを受け取る変数へのポインター。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

vtbl 13 HRESULT NewWindow(INT_PTR hScopeItem, DWORD lOptions)

指定されたスコープアイテムをルートとする、新しいマルチドキュメントインターフェイス (MDI) 子ウィンドウを作成します。

hScopeItemINT_PTRin新しいウィンドウのルートとなるスコープアイテム。
lOptionsDWORDin

新しいウィンドウの作成に使用するオプションを次の一覧に示します。

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 の 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_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 指定が可能。