IComponent::GetResultViewType メソッド (mmc.h)
IComponent::GetResultViewType メソッドは、結果ウィンドウ ビューの内容を決定します。
構文
HRESULT GetResultViewType(
[in] MMC_COOKIE cookie,
[out] LPOLESTR *ppViewType,
[out] long *pViewOptions
);
パラメーター
[in] cookie
スコープ項目の snapin で指定された一意識別子を示す 値。 MMC の Cookie の詳細については、「 Cookie」を参照してください。
[out] ppViewType
指定した Cookie に対して表示するビューを指定する文字列のアドレスへのポインター。 呼び出し先 (スナップイン) は COM API 関数 CoTaskMemAlloc を使用してビューの種類の文字列を割り当て、呼び出し元 (MMC) は CoTaskMemFree を使用して解放します。
返される文字列は、ビューの種類によって異なります。
標準リスト
標準のリスト ビューの場合、MMC はこの値を使用しません。 スナップインで標準のリスト ビューのみを使用する場合、スナップインで ppViewType を NULL に設定できます。 MMC では、既定のビューの種類として標準のリスト ビューが使用されます。
タスクパッド
MMC タスクパッド テンプレートを使用するタスクパッド ビューの場合、 ppViewType は、タスクパッド テンプレートへのリソース パスと、タスクパッドを識別するグループ名を含む文字列のアドレスを指す必要があります。 MMC は IExtendTaskPad メソッドの呼び出しでグループ名を渡し、スナップインが表示されている特定のタスクパッドを識別できるようにします (これは、スナップインに複数のタスクパッドがある場合に重要です)。
文字列の形式は次のとおりです。
"res:// filepath/テンプレート#groupname"
ここで、filepath は MMC 実行可能ファイル (MMC.exe) への完全なパスです。template は filepath で指定されたファイル内のリソースとして格納されるテンプレートのファイル名、groupname はタスクパッドを識別する名前です。
MMC では、次の HTML ファイルがテンプレートとして提供されます。
リソース ファイル | 説明 |
---|---|
default.htm | 標準タスクパッド用テンプレート |
listpad.htm | "垂直" リスト ビュー タスクパッドのテンプレート |
horizontal.htm | "水平" リスト ビュー タスクパッドのテンプレート |
たとえば、次の文字列は、MMC.exe に c:\Windows\System32\mmc.exe のパスがあり、標準のタスクパッドが表示され (default.htm)、グループ名が tpad1 :"res://c:\Windows\System32\mmc.exe/default.htm#tpad1" であることを指定します。
カスタム HTML ページを使用するタスクパッド ビューの場合、 ppViewType は、カスタム タスクパッドの HTML ファイルへのリソース パスと、タスクパッドを識別するグループ名を含む文字列のアドレスを指す必要があります。 文字列の形式は MMC タスクパッド テンプレートの文字列と同じですが、 filepath では、カスタム HTML ページをリソースとして格納するスナップインの DLL へのパスを指定する必要があります。
カスタム OCX
OLE カスタム コントロール (OCX) によって提供されるカスタム ビューの場合、 ppViewType は、カスタム コントロールの CLSID の文字列表現を含む文字列のアドレスを指す必要があります。 文字列は、開いた中かっこ ({) で始まり、閉じる中かっこ (}) で終わる必要があります。 次の文字列は Calendar コントロールを表し、 ppViewType パラメーターで返され、結果ウィンドウに Calendar コントロールを表示できます:"{8E27C92B-1264-101C-8A2F-040224009C02}"
MMC では、ビューごとにスナップイン インスタンスごとに、各 OCX の種類の 1 つのインスタンスが許可されます。 [MMC_VIEW_OPTIONS_CREATENEW] オプションが選択されていない場合、MMC は、この OCX ビューを要求するスナップインのスコープアイテムのキャッシュされた OCX インスタンスを表示します。 [MMC_VIEW_OPTIONS_CREATENEW] オプションが選択されている場合、MMC はキャッシュされた OCX を破棄し、アイテムが OCX ビューを要求するたびに新しい OCX を作成します。
カスタム Web ページ
Web ページによって提供されるカスタム ビューの場合、 ppViewType はページの URL を含む文字列のアドレスを指す必要があります。 次の文字列は Microsoft Web サイトの URL を表し、 ppViewType パラメーターで返して結果ウィンドウに Web サイトを表示できます:"www.microsoft.com"。
[out] pViewOptions
所有するスナップインで指定されたオプションをコンソールに提供する値へのポインター。 この値には、次の組み合わせを指定できます。
MMC_VIEW_OPTIONS_CREATENEW (0x0010)
カスタム OCX ビューの場合。 MMC 1.2 では、OCX は常にキャッシュされます。 このフラグが指定されていない場合、MMC 1.2 では、この OCX ビューを要求するスナップインのスコープ項目のキャッシュされた OCX インスタンスが表示されます。 このフラグを指定すると、MMC 1.2 はキャッシュされた OCX を破棄し、アイテムが OCX ビューを要求するたびに新しい OCX を作成 (キャッシュ) します。 MMC 2.0 では、このフラグが設定されていない場合にのみ OCX がキャッシュされます。 MMC 2.0 では、このフラグが設定されている場合、ノードの選択を解除すると、スナップインは OCX を解放できます。
スナップインでノードに対して OCX キャッシュ オプションを指定した後 ( MMC_VIEW_OPTIONS_CREATENEW フラグを使用するか使用しないかのどちらか)、スナップインのこのインスタンスのオプションの選択を変更することはできません。
MMC_VIEW_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST (0x00000040)
MMC 1.2 の新機能。 標準のリスト ビューでは、このオプションは、ビュー内のスコープ項目を非表示にするように MMC に指示します。 スコープ 項目は、仮想リスト ビューでは自動的に非表示になります。
MMC_VIEW_OPTIONS_FILTERED (0x0008)
スナップインでフィルター処理されたビューがサポートされていることを MMC に通知します。 「フィルター処理されたビューの追加」を参照してください。
MMC_VIEW_OPTIONS_LEXICAL_SORT (0x00000080)
MMC 1.2 の新機能。 標準のリスト ビューでは、このオプションは、すべてのスコープ項目 (拡張機能を含む) を最初に構文的に並べ替え、その後にすべての結果項目を並べ替えることを MMC に指示します。 このオプションを設定すると、 IResultDataCompare インターフェイスと IResultDataCompareEx インターフェイスは無視されます。
MMC_VIEW_OPTIONS_MULTISELECT (0x0004)
結果ウィンドウ ビューで複数の項目を選択できるようにします。
MMC_VIEW_OPTIONS_NOLISTVIEWS (0x0001)
[ 表示 ] メニューで標準のリスト ビューの選択肢を表示しないようにコンソールに指示します。 スナップインが結果ウィンドウに独自のカスタム ビューのみを表示できるようにします。
MMC_VIEW_OPTIONS_NONE (0)
ビュー オプションが選択されていません。 これは既定のビュー オプションです。
MMC_VIEW_OPTIONS_OWNERDATALIST (0x0002)
結果ウィンドウ のリスト ビューを仮想リストにする必要があることを示す 値。
MMC_VIEW_OPTIONS_USEFONTLINKING (0x0020)
結果アイテムでフォント リンクを使用する (多言語サポートの場合)。 詳細については、「解説」を参照してください。
ppViewType がカスタム ビューの種類の場合、ビューがカスタム ビューから標準リスト ビューに切り替えられると、標準のリスト ビューに影響するビュー オプションが MMC によって適用されます。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
注釈
呼び出し先 (スナップイン) は COM API 関数 CoTaskMemAlloc を使用してビューの種類の文字列を割り当て、呼び出し元 (MMC) は CoTaskMemFree を使用して解放します。
MMC は、スナップイン スコープ項目が選択されている場合に GetResultViewType を呼び出します。 標準のリスト ビューからカスタム ビューに切り替える場合、スナップインは IConsole2::SelectScopeItem を呼び出して項目を再選択し、MMC に GetResultViewType をもう一度呼び出すように強制する必要があります。 これにより、スナップインで適切なカスタム OCX または Web ページを指定して、MMC で読み込むことができます。 カスタム ビューから標準リスト ビューに切り替えると、MMC は自動的に GetResultViewType を 呼び出し、適切なリスト ビューの種類を設定します。
Unicode 文字列を指定すると、フォント リンク機能によって、その文字列を表示する最適なフォントが決定されます。 たとえば、リスト ビューにサーバー名を設定していて、半分が日本語で、半分がロシア語であることがわかっている場合は、フォント リンク ビューのオプションを設定し、MMC によって適切なフォントが決定されます。 MMC が適切なフォントを検索するとパフォーマンスが低下するため、既定ではフォント リンクは使用されません。
Cookie は、特定のアイテムに固有の情報を含む構造体へのポインターです。 SCOPEDATAITEM 構造体の lParam メンバーを介して渡されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | mmc.h |