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

IXpsOMGeometry

COM
IID64fcf3d7-4d58-44ba-ad73-a13af6492072継承元IXpsOMShareable自前メソッド開始 vtbl5

公式ドキュメント

パスまたはクリッピング領域の形状を記述します。

解説(Remarks)

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


IXpsOMGeometry    *newInterface;

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

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

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateGeometry (&newInterface);
    if (SUCCEEDED(hr))
    {
        // newInterface を使用します

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

メソッド 9

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

vtbl 5 HRESULT GetFigures(IXpsOMGeometryFigureCollection** figures)

このジオメトリを構成するフィギュアのコレクションを保持する、ジオメトリの IXpsOMGeometryFigureCollection インターフェイスへのポインターを取得します。

figuresIXpsOMGeometryFigureCollection**outIXpsOMGeometryFigureCollection インターフェイスへのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
figures が NULL です。
vtbl 6 HRESULT GetFillRule(XPS_FILL_RULE* fillRule)

使用する塗りつぶし規則を表す XPS_FILL_RULE 値を取得します。

fillRuleXPS_FILL_RULE*out使用する塗りつぶし規則を表す XPS_FILL_RULE 値。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
fillRule が NULL です。

解説(Remarks)

塗りつぶし規則によって、ある点が塗りつぶし領域の内側にあるかどうかがどのように判定されるかについて詳しくは、XPS_FILL_RULE を参照してください。

fillRule に返される値は、ドキュメントマークアップ内の PathGeometry 要素の FillRule 属性に対応します。

vtbl 7 HRESULT SetFillRule(XPS_FILL_RULE fillRule)

使用する塗りつぶし規則を表す XPS_FILL_RULE 値を設定します。

fillRuleXPS_FILL_RULEin使用する塗りつぶし規則を表す XPS_FILL_RULE 値。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
fillRule が有効な XPS_FILL_RULE 値ではありません。

解説(Remarks)

塗りつぶし規則によって、ある点が塗りつぶし領域の内側にあるかどうかがどのように判定されるかについて詳しくは、XPS_FILL_RULE を参照してください。

ドキュメントマークアップでは、この値は PathGeometry 要素の FillRule 属性に対応します。

vtbl 8 HRESULT GetTransform(IXpsOMMatrixTransform** transform)

ジオメトリの解決済みマトリックス変換を保持する、ジオメトリの IXpsOMMatrixTransform インターフェイスへのポインターを取得します。

transformIXpsOMMatrixTransform**out

ジオメトリの解決済みマトリックス変換を保持する、ジオメトリの IXpsOMMatrixTransform インターフェイスへのポインター。マトリックス変換が設定されていない場合は、NULL ポインターが返されます。

このパラメーターに返される値は、変換を設定するために直近に呼び出されたメソッドによって異なります。

直近に呼び出されたメソッド transform に返されるオブジェクト

SetTransformLocal

SetTransformLocal によって設定されたローカル変換。

SetTransformLookup

SetTransformLookup によって設定されたキーと一致する参照キーで、リソースディレクトリから取得された共有変換。
SetTransformLocal と SetTransformLookup のどちらもまだ呼び出されていません。 NULL ポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
transform が NULL です。
XPS_E_LOOKUP_INVALID_TYPE
SetStrokeBrushLookup によって設定された参照キー名が、ブラシではないオブジェクトを参照しています。
XPS_E_LOOKUP_NOT_FOUND
参照値と一致するキー名を持つオブジェクトが見つかりませんでした。

lookup に渡された値と一致するキー名を持つオブジェクトが見つかりませんでした。

vtbl 9 HRESULT GetTransformLocal(IXpsOMMatrixTransform** transform)

ジオメトリのローカルな (共有されない) マトリックス変換を保持する IXpsOMMatrixTransform インターフェイスへのポインターを取得します。

transformIXpsOMMatrixTransform**out

ジオメトリのローカルな (共有されない) マトリックス変換を保持する IXpsOMMatrixTransform インターフェイスへのポインター。ローカルマトリックス変換が設定されていない場合、またはマトリックス変換の参照キーが設定されている場合は、NULL ポインターが返されます。

このパラメーターに返される値は、変換を設定するために直近に呼び出されたメソッドによって異なります。

直近に呼び出されたメソッド transform に返されるオブジェクト

SetTransformLocal

SetTransformLocal によって設定されたローカル変換。

SetTransformLookup

NULL ポインター。
SetTransformLocal と SetTransformLookup のどちらもまだ呼び出されていません。 NULL ポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
transform が NULL です。
vtbl 10 HRESULT SetTransformLocal(IXpsOMMatrixTransform* transform)

ローカルな (共有されない) マトリックス変換を設定します。(IXpsOMGeometry.SetTransformLocal)

transformIXpsOMMatrixTransform*inジオメトリのローカルな (共有されない) マトリックス変換として設定する IXpsOMMatrixTransform インターフェイスへのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_NO_CUSTOM_OBJECTS
transform が、認識可能なインターフェイス実装を指していません。XPS ドキュメント API インターフェイスの独自実装はサポートされていません。

解説(Remarks)

SetTransformLocal を呼び出すと、変換の参照キーは解放され、GetTransformLookup は lookup パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値と参照値の関係を示しています。

直近に呼び出されたメソッド GetTransform が transform に返すオブジェクト GetTransformLocal が transform に返すオブジェクト GetTransformLookup が lookup に返すオブジェクト
SetTransformLocal (このメソッド) SetTransformLocal によって設定されたローカル変換。 SetTransformLocal によって設定されたローカル変換。 NULL ポインター。

SetTransformLookup

SetTransformLookup によって設定されたキーと一致する参照キーで、リソースディレクトリから取得された共有変換。 NULL ポインター。 SetTransformLookup によって設定された参照キー。
SetTransformLocal と SetTransformLookup のどちらもまだ呼び出されていません。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 11 HRESULT GetTransformLookup(LPWSTR* lookup)

ジオメトリの解決済みマトリックス変換を保持する IXpsOMMatrixTransform インターフェイスの参照キーを取得します。

lookupLPWSTR*out

リソースディクショナリ内の IXpsOMMatrixTransform インターフェイスの参照キー。マトリックス変換の参照キーが設定されていない場合、またはローカルマトリックス変換が設定されている場合は、NULL ポインターが返されます。

このパラメーターに返される値は、変換を設定するために直近に呼び出されたメソッドによって異なります。

直近に呼び出されたメソッド lookup に返されるオブジェクト

SetTransformLocal

NULL ポインター。

SetTransformLookup

SetTransformLookup によって設定された参照キー。
SetTransformLocal と SetTransformLookup のどちらもまだ呼び出されていません。 NULL ポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
lookup が NULL です。

解説(Remarks)

このメソッドは、lookup に返される文字列で使用されるメモリを割り当てます。 lookup が NULL でない場合は、CoTaskMemFree 関数を使用してそのメモリを解放してください。

vtbl 12 HRESULT SetTransformLookup(LPWSTR lookup)

リソースディクショナリ内の共有マトリックス変換の参照キー名を設定します。(IXpsOMGeometry.SetTransformLookup)

lookupLPWSTRinリソースディクショナリ内の共有マトリックス変換のキー名。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_INVALID_RESOURCE_KEY
XML Paper Specification に照らして、lookup の値が有効な参照キー文字列ではありません。
XPS_E_INVALID_LOOKUP_TYPE
lookup の参照キー名が、変換ではないオブジェクトを参照しています。
XPS_E_LOOKUP_NOT_FOUND
lookup に渡された値と一致するキー名を持つオブジェクトが見つかりませんでした。

解説(Remarks)

SetTransformLookup を呼び出すと、ローカル変換は解放され、GetTransformLocal は transform パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値と参照値の関係を示しています。

直近に呼び出されたメソッド GetTransform が transform に返すオブジェクト GetTransformLocal が transform に返すオブジェクト GetTransformLookup が lookup に返すオブジェクト

SetTransformLocal

SetTransformLocal によって設定されたローカル変換。 SetTransformLocal によって設定されたローカル変換。 NULL ポインター。
SetTransformLookup (このメソッド) SetTransformLookup によって設定されたキーと一致する参照キーで、リソースディレクトリから取得された共有変換。 NULL ポインター。 SetTransformLookup によって設定された参照キー。
SetTransformLocal と SetTransformLookup のどちらもまだ呼び出されていません。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 13 HRESULT Clone(IXpsOMGeometry** geometry)

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

geometryIXpsOMGeometry**outインターフェイスのコピーへのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
この操作を実行するのに十分なメモリがありません。
E_POINTER
geometry が NULL です。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IXpsOMGeometry "{64FCF3D7-4D58-44BA-AD73-A13AF6492072}"
#usecom global IXpsOMGeometry IID_IXpsOMGeometry "{}"
#comfunc global IXpsOMGeometry_GetFigures          5 sptr
#comfunc global IXpsOMGeometry_GetFillRule         6 var
#comfunc global IXpsOMGeometry_SetFillRule         7 int
#comfunc global IXpsOMGeometry_GetTransform        8 sptr
#comfunc global IXpsOMGeometry_GetTransformLocal   9 sptr
#comfunc global IXpsOMGeometry_SetTransformLocal   10 sptr
#comfunc global IXpsOMGeometry_GetTransformLookup  11 var
#comfunc global IXpsOMGeometry_SetTransformLookup  12 wstr
#comfunc global IXpsOMGeometry_Clone               13 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。