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

IExtendPropertySheet2

COM
IIDb7a87232-4a51-11d1-a7ea-00c04fd909dd継承元IExtendPropertySheet自前メソッド開始 vtbl5

公式ドキュメント

IExtendPropertySheet2 インターフェイスは MMC 1.1 で導入されました。

メソッド 1

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

vtbl 5 HRESULT GetWatermarks(IDataObject* lpIDataObject, HBITMAP* lphWatermark, HBITMAP* lphHeader, HPALETTE* lphPalette, BOOL* bStretch)

IExtendPropertySheet2::GetWatermarks メソッドは、Wizard 97 スタイルのウィザードとして実装されたウィザードシート用のウォーターマークビットマップおよびヘッダービットマップを取得します。

lpIDataObjectIDataObject*inスコープ項目または結果項目に関するコンテキスト情報を保持するオブジェクト上の IDataObject インターフェイスへのポインター。
lphWatermarkHBITMAP*outWizard 97 ページのウォーターマークとして使用されるビットマップのハンドルへのポインター。ビットマップのハンドルが NULL の場合、ウィザードにウォーターマークは表示されません。この値が NULL でない場合、互換性のため、スナップインはウォーターマークリソースの有効期間を管理する必要があります。スナップインはウォーターマークリソースの解放に責任を負います。
lphHeaderHBITMAP*outWizard 97 ページのヘッダーとして使用されるビットマップのハンドルへのポインター。ビットマップのハンドルが NULL の場合、ウィザードページのヘッダーにビットマップは表示されません。この値が NULL でない場合、互換性のため、スナップインはヘッダーリソースの有効期間を管理する必要があります。スナップインはヘッダーリソースの解放に責任を負います。
lphPaletteHPALETTE*outlphWatermark および lphHeader で指定されたビットマップに使用すべきパレットのハンドルへのポインター。パレットは既定で NULL です。パレットが返されない場合、パレットは NULL になります。この値が NULL でない場合、互換性のため、スナップインはパレットリソースの有効期間を管理する必要があります。スナップインはパレットリソースの解放に責任を負います。
bStretchBOOL*outウォーターマークビットマップおよびヘッダービットマップを、プロパティシートの背景領域またはヘッダー領域に合わせて、タイル表示ではなく引き伸ばすかどうかを指定する値。TRUE はウォーターマークビットマップおよびヘッダービットマップを引き伸ばすことを指定します。FALSE はウォーターマークビットマップおよびヘッダービットマップがサイズを維持してタイル表示されることを指定します。このパラメーターは既定で FALSE です。bStretch 値が返されない場合、bStretchFALSE になります。

戻り値

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

解説(Remarks)

MMC は、次の場合にのみこのメソッドを呼び出します。

  1. IPropertySheetProvider::CreatePropertySheet の type パラメーターが FALSE(ウィザードシート用)に設定され、かつ dwOptions パラメーターが MMC_PSO_NEWWIZARDTYPE(Wizard 97 スタイル用)に設定されている場合。
  2. スナップインが IPropertySheetProvider::AddPrimaryPages メソッドの呼び出しにおいて、その IComponentData または IComponent インターフェイスへのポインターを最初のパラメーターとして渡す場合。
このメソッドのスナップインの実装が失敗値(E_NOTIMPL など)を返す場合、MMC は、スナップインが IPropertySheetProvider::CreatePropertySheet の呼び出しで要求したウィザードシートを、Wizard 97 スタイルではないものに戻します。これは MMC 1.1 との互換性を維持するためです。

画像の歪みを防ぐため、bStretchFALSE に設定した状態で、ウォーターマークビットマップおよびヘッダービットマップは次の寸法(ピクセル単位)にすることが推奨されます。

ビットマップ 寸法
lphWatermark 164w x 628h
lphHeader 49w x 49h
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IExtendPropertySheet2 "{B7A87232-4A51-11D1-A7EA-00C04FD909DD}"
#usecom global IExtendPropertySheet2 IID_IExtendPropertySheet2 "{}"
#comfunc global IExtendPropertySheet2_GetWatermarks  5 sptr,sptr,sptr,sptr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。