Win32 API 日本語リファレンス
ホームStorage.Xps › IXpsOMSolidColorBrush

IXpsOMSolidColorBrush

COM
IIDa06f9f05-3be9-4763-98a8-094fc672e488継承元IXpsOMBrush自前メソッド開始 vtbl7

公式ドキュメント

単色のブラシです。

解説(Remarks)

次のコード例は、このインターフェースのインスタンスを作成する方法を示しています。


IXpsOMSolidColorBrush             *newInterface;
// 次の値は、この例の外部で
// 定義されています。
//  XPS_COLOR                     color;
//  IXpsOMColorProfileResource    *colorProfile;

// このスレッドで CoInitializeEx が事前に呼び出されていることが
//  暗黙の前提となる点に注意してください。

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateSolidColorBrush (
        &color,
        colorProfile,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // newInterface を使用する

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // hr に返された HRESULT のエラーを評価する
}

メソッド 3

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

vtbl 7 HRESULT GetColor(XPS_COLOR* color, IXpsOMColorProfileResource** colorProfile)

ブラシの色の値とカラープロファイルを取得します。

colorXPS_COLOR*outブラシの色の値。
colorProfileIXpsOMColorProfileResource**out

ブラシのカラープロファイル。

ブラシにカラープロファイルが指定されていない場合は、NULL ポインターが返されます。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示す値が含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
colorcolorProfile、またはその両方が NULL です。
vtbl 8 HRESULT SetColor(XPS_COLOR* color, IXpsOMColorProfileResource* colorProfile)

ブラシの色の値とカラープロファイルを設定します。

colorXPS_COLOR*in

ブラシの色の値。

このパラメーターに渡された XPS_COLOR 構造体の colorType フィールドの値が XPS_COLOR_TYPE_CONTEXT の場合は、colorProfile パラメーターに有効なカラープロファイルを指定する必要があります。

colorProfileIXpsOMColorProfileResource*in

color と共に使用するカラープロファイル。

color パラメーターに渡された XPS_COLOR 構造体の colorType フィールドの値が XPS_COLOR_TYPE_CONTEXT の場合は、カラープロファイルが必要です。colorType フィールドの値が XPS_COLOR_TYPE_CONTEXT 以外の場合は、このパラメーターに NULL を設定する必要があります。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示す値が含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
colorNULL です。
XPS_E_MISSING_COLORPROFILE
カラープロファイルが必要であるにもかかわらず、colorProfileNULL です。色の種類が XPS_COLOR_TYPE_CONTEXT の場合は、カラープロファイルが必要です。
XPS_E_UNEXPECTED_COLORPROFILE
カラープロファイルが不要であるにもかかわらず、colorProfile にカラープロファイルが指定されています。カラープロファイルを指定できるのは、色の種類が XPS_COLOR_TYPE_CONTEXT の場合のみです。
XPS_E_NO_CUSTOM_OBJECTS
colorProfile が、認識可能なインターフェースの実装を指していません。XPS ドキュメント API インターフェースの独自実装はサポートされていません。
vtbl 9 HRESULT Clone(IXpsOMSolidColorBrush** solidColorBrush)

インターフェースのディープコピーを作成します。(IXpsOMSolidColorBrush.Clone)

solidColorBrushIXpsOMSolidColorBrush**outコピーされたインターフェースへのポインター。

戻り値

このメソッドは HRESULT を返します。指定できる値には、次の表に示す値が含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
この操作を実行するのに十分なメモリがありません。
E_POINTER
solidColorBrushNULL です。

解説(Remarks)

このメソッドでは、コピー内のリソースポインターは一切更新されません。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IXpsOMSolidColorBrush "{A06F9F05-3BE9-4763-98A8-094FC672E488}"
#usecom global IXpsOMSolidColorBrush IID_IXpsOMSolidColorBrush "{}"
#comfunc global IXpsOMSolidColorBrush_GetColor  7 var,sptr
#comfunc global IXpsOMSolidColorBrush_SetColor  8 var,sptr
#comfunc global IXpsOMSolidColorBrush_Clone     9 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。