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

IXpsOMPage

COM
IIDd3e18888-f120-4fee-8c68-35296eae91d4継承元IXpsOMPart自前メソッド開始 vtbl5

公式ドキュメント

1 ページ分の内容を保持するオブジェクトツリーのルートノードを提供します。

解説(Remarks)

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


IXpsOMPage        *newInterface;
// The following values are defined outside of 
// this example.
//  LPWSTR        language;
//  XPS_SIZE      pageDimensions;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

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

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreatePage (
            &pageDimensions,
            language,
            partUri,
            &newInterface);

        if (SUCCEEDED(hr))
        {
            // use newInterface

            newInterface->Release();
        }
        partUri->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

プログラム内でこのインターフェイスを使用する方法については、Create a Blank XPS OM および Navigate the XPS OM を参照してください。

メソッド 22

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

vtbl 5 HRESULT GetOwner(IXpsOMPageReference** pageReference)

ページを保持している IXpsOMPageReference インターフェイスへのポインターを取得します。

pageReferenceIXpsOMPageReference**outページを保持している IXpsOMPageReference インターフェイスへのポインター。

戻り値

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

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

解説(Remarks)

ページに所有者がない場合は、pageReferenceNULL ポインターが返されます。

vtbl 6 HRESULT GetVisuals(IXpsOMVisualCollection** visuals)

ページのビジュアルオブジェクトのコレクションを保持する IXpsOMVisualCollection インターフェイスへのポインターを取得します。

visualsIXpsOMVisualCollection**outページのビジュアルオブジェクトのコレクションを保持する IXpsOMVisualCollection インターフェイスへのポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
visualsNULL です。
vtbl 7 HRESULT GetPageDimensions(XPS_SIZE* pageDimensions)

ページの寸法を取得します。

pageDimensionsXPS_SIZE*out

ページの寸法。

サイズは XPS 単位で表されます。1 インチは 96 XPS 単位です。たとえば、8.5 インチ × 11.0 インチのページの寸法は 816 × 1,056 XPS 単位になります。

戻り値

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

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

解説(Remarks)

既定のページサイズは、IXpsOMObjectFactory::CreatePagepageDimensions パラメーターに渡されます。

vtbl 8 HRESULT SetPageDimensions(XPS_SIZE* pageDimensions)

ページの寸法を設定します。

pageDimensionsXPS_SIZE*in

ページの寸法。

サイズは XPS 単位で表されます。1 インチは 96 XPS 単位です。たとえば、8.5 インチ × 11.0 インチのページの寸法は 816 × 1,056 XPS 単位になります。

XPS_SIZE 構造体には次のプロパティがあります。

0 ≤ value )
0 ≤ value )

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
pageDimensionsNULL です。
XPS_E_INVALID_PAGE_SIZE
pageDimensions で指定されたページサイズに、許可されていない値が 1 つ以上含まれています。
vtbl 9 HRESULT GetContentBox(XPS_RECT* contentBox)

ページのコンテンツボックスの寸法を取得します。

contentBoxXPS_RECT*outコンテンツボックスの寸法。

戻り値

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

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

解説(Remarks)

コンテンツボックスは、ページ上でインク (描画内容) が表示される領域を示します。

ページの既定のコンテンツボックスは次のとおりです。

XPS_RECT のフィールド 既定値
x 0
y 0
width pageDimension.width
height pageDimension.height
vtbl 10 HRESULT SetContentBox(XPS_RECT* contentBox)

ページのコンテンツボックスの寸法を設定します。

contentBoxXPS_RECT*in

ページのコンテンツボックスの寸法。

contentBox のフィールド 有効な値
contentBox.width 0.0 以上、かつ (pageDimensions.width - contentBox.x) 以下。
contentBox.height 0.0 以上、かつ (pageDimensions.height - contentBox.y) 以下。
contentBox.x 0.0 以上、かつ pageDimensions.width 未満。
contentBox.y 0.0 以上、かつ pageDimensions.height 未満。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
contentBoxNULL です。
XPS_E_INVALID_CONTENT_BOX
contentBox で指定された四角形に、有効でない値が 1 つ以上含まれています。

解説(Remarks)

コンテンツボックスは、ページ上でインク (描画内容) が表示される領域を指定します。

コンテンツボックスの寸法は、ページがシリアル化されるまでページの寸法と照合されません。

vtbl 11 HRESULT GetBleedBox(XPS_RECT* bleedBox)

ページのブリードボックスの寸法を取得します。

bleedBoxXPS_RECT*outブリードボックスの寸法。

戻り値

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

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

解説(Remarks)

ページの既定のブリードボックスは次のとおりです。

XPS_RECT のフィールド 既定値
x 0
y 0
width pageDimension.width
height pageDimension.height
vtbl 12 HRESULT SetBleedBox(XPS_RECT* bleedBox)

ページのブリードボックスの寸法を設定します。

bleedBoxXPS_RECT*in

ページのブリードボックスの寸法。このパラメーターに NULL を指定することはできません。

有効なブリードボックスには次のプロパティがあります。

####### x)) ≤ value )

####### y)) ≤ value )

0)
0)

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
bleedBoxNULL です。
XPS_E_INVALID_BLEED_BOX
bleedBox で示される四角形に、有効でない値が 1 つ以上含まれています。

解説(Remarks)

ブリードボックスの寸法は、ページがシリアル化されるまでページの寸法と照合されません。

vtbl 13 HRESULT GetLanguage(LPWSTR* language)

ページの Language プロパティを取得します。

languageLPWSTR*outページの内容の言語を表す言語タグ文字列。Language プロパティが設定されていない場合は、NULL ポインターが返されます。

戻り値

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

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

解説(Remarks)

既定値は、IXpsOMObjectFactory::CreatePagelanguage パラメーターに渡される言語タグ文字列です。

language に返される言語タグ文字列の推奨されるエンコード方法は、Internet Engineering Task Force (IETF) RFC 3066 に記載されています。

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

vtbl 14 HRESULT SetLanguage(LPWSTR language)

ページの Language プロパティを設定します。

languageLPWSTRinページの内容の言語を表す言語タグ文字列。NULL ポインターを指定すると、以前に割り当てられた言語がクリアされます。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_INVALID_LANGUAGE
言語文字列に、有効でない言語文字列が 1 つ以上含まれています。

解説(Remarks)

言語タグ文字列は、Internet Engineering Task Force (IETF) RFC 3066 に記載されている言語タグの構文に従っている必要があります。詳細については、http://tools.ietf.org/html/rfc3066 を参照してください。

vtbl 15 HRESULT GetName(LPWSTR* name)

ページの Name プロパティを取得します。

nameLPWSTR*outページの Name プロパティ。Name プロパティが設定されていない場合は、NULL ポインターが返されます。

戻り値

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

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

解説(Remarks)

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

vtbl 16 HRESULT SetName(LPWSTR name)

このページの Name プロパティを設定します。

nameLPWSTRinページの Name プロパティとして設定する名前文字列へのポインター。NULL ポインターを指定すると、以前に割り当てられた名前がクリアされます。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_INVALID_NAME
名前文字列に、有効でない文字が含まれています。

解説(Remarks)

Name プロパティは、現在のページをドキュメント内の名前付きでアドレス指定可能な位置として識別し、ハイパーリンクからページを参照できるようにします。

vtbl 17 HRESULT GetIsHyperlinkTarget(BOOL* isHyperlinkTarget)

ページがハイパーリンクのターゲットかどうかを示すブール値を取得します。

isHyperlinkTargetBOOL*out

ページがハイパーリンクのターゲットかどうかを示すブール値。

意味
TRUE
ページはハイパーリンクのターゲットです。
FALSE
ページはハイパーリンクのターゲットではありません。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
isHyperlinkTargetNULL です。
vtbl 18 HRESULT SetIsHyperlinkTarget(BOOL isHyperlinkTarget)

ページがハイパーリンクのターゲットかどうかを指定します。

isHyperlinkTargetBOOLin

ページがハイパーリンクのターゲットかどうかを示すブール値。

意味
TRUE
ページはハイパーリンクのターゲットです。
FALSE
ページはハイパーリンクのターゲットではありません。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_MISSING_NAME
ページに名前が設定されていません。ハイパーリンクターゲットの状態は、ページに名前がある場合にのみ設定できます。

解説(Remarks)

このプロパティが TRUE に設定されているページのみが、IXpsOMPageReference::CollectLinkTargets によって収集されるハイパーリンクターゲットに含まれます。

vtbl 19 HRESULT GetDictionary(IXpsOMDictionary** resourceDictionary)

このページに関連付けられている、解決済みの IXpsOMDictionary インターフェイスへのポインターを取得します。

resourceDictionaryIXpsOMDictionary**out

このページに関連付けられている、解決済みの IXpsOMDictionary インターフェイスへのポインター。

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

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

SetDictionaryLocal

SetDictionaryLocal によって設定されたローカルディクショナリリソース。

SetDictionaryResource

SetDictionaryResource によって設定されたディクショナリリソース内の共有ディクショナリ。
SetDictionaryLocalSetDictionaryResource のいずれもまだ呼び出されていません。 NULL ポインター。

戻り値

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

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

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

解説(Remarks)

ディクショナリがローカルであるか、リモートディクショナリリソースに含まれているかにかかわらず、このメソッドは IXpsOMDictionary インターフェイスポインターを返します。ディクショナリがリモートかどうかは GetOwner で判断します。

ページにリモートディクショナリが含まれている場合、GetDictionary はそのディクショナリを逆シリアル化します。ページに含まれるリモートディクショナリが有効でない場合、GetDictionary は逆シリアル化のエラーコードを返すことがあります。

リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返すことがあります。これは、リソースの読み込み時にすべての関係が解析されるためです。

vtbl 20 HRESULT GetDictionaryLocal(IXpsOMDictionary** resourceDictionary)

このページに関連付けられている、ローカルで共有されないディクショナリの IXpsOMDictionary インターフェイスへのポインターを取得します。

resourceDictionaryIXpsOMDictionary**out

このページに関連付けられている、ローカルで共有されないディクショナリの IXpsOMDictionary インターフェイスへのポインター。IXpsOMDictionary インターフェイスポインターが設定されていない場合、またはリモートディクショナリリソースが設定されている場合は、NULL ポインターが返されます。

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

SetDictionaryLocal

SetDictionaryLocal によって設定されたローカルディクショナリリソース。

SetDictionaryResource

NULL ポインター。
SetDictionaryLocalSetDictionaryResource のいずれもまだ呼び出されていません。 NULL ポインター。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
resourceDictionaryNULL です。
vtbl 21 HRESULT SetDictionaryLocal(IXpsOMDictionary* resourceDictionary)

ページのローカルディクショナリリソースの IXpsOMDictionary インターフェイスポインターを設定します。

resourceDictionaryIXpsOMDictionary*inページに設定する IXpsOMDictionary インターフェイスポインター。NULL ポインターを指定すると、以前に割り当てられたローカルディクショナリが解放されます。

戻り値

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

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

解説(Remarks)

SetDictionaryLocal を呼び出すと、リモートディクショナリリソースは解放され、GetDictionaryResourceremoteDictionaryResource パラメーターに NULL ポインターを返します。次の表は、このプロパティのローカル値とリモート値の関係を示しています。

直近に呼び出されたメソッド GetDictionaryresourceDictionary に返すオブジェクト GetDictionaryLocalresourceDictionary に返すオブジェクト GetDictionaryResourceremoteDictionaryResource に返すオブジェクト
SetDictionaryLocal (このメソッド) SetDictionaryLocal によって設定されたローカルディクショナリリソース。 SetDictionaryLocal によって設定されたローカルディクショナリリソース。 NULL ポインター。

SetDictionaryResource

SetDictionaryResource によって設定されたディクショナリリソース内の共有ディクショナリ。 NULL ポインター。 SetDictionaryResource によって設定されたリモートディクショナリリソース。
SetDictionaryLocalSetDictionaryResource のいずれもまだ呼び出されていません。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 22 HRESULT GetDictionaryResource(IXpsOMRemoteDictionaryResource** remoteDictionaryResource)

このページが使用する共有ディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェイスへのポインターを取得します。

remoteDictionaryResourceIXpsOMRemoteDictionaryResource**out

このページが使用する共有ディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェイスへのポインター。IXpsOMRemoteDictionaryResource インターフェイスが設定されていない場合、またはローカルディクショナリが設定されている場合は、NULL ポインターが返されます。

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

SetDictionaryLocal

NULL ポインター。

SetDictionaryResource

SetDictionaryResource によって設定されたリモートディクショナリリソース。
SetDictionaryLocalSetDictionaryResource のいずれもまだ呼び出されていません。 NULL ポインター。

戻り値

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

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

解説(Remarks)

リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返すことがあります。これは、リソースの読み込み時にすべての関係が解析されるためです。

vtbl 23 HRESULT SetDictionaryResource(IXpsOMRemoteDictionaryResource* remoteDictionaryResource)

ページのリモートディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェイスポインターを設定します。

remoteDictionaryResourceIXpsOMRemoteDictionaryResource*inページに設定する IXpsOMRemoteDictionaryResource インターフェイスポインター。NULL 値を指定すると、以前に割り当てられたディクショナリリソースが解放されます。

戻り値

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

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

解説(Remarks)

この値を設定すると、GetDictionaryLocalNULL を返すようになります。

直近に呼び出されたメソッド GetDictionaryresourceDictionary に返すオブジェクト GetDictionaryLocalresourceDictionary に返すオブジェクト GetDictionaryResourceremoteDictionaryResource に返すオブジェクト

SetDictionaryLocal

SetDictionaryLocal によって設定されたローカルディクショナリリソース。 SetDictionaryLocal によって設定されたローカルディクショナリリソース。 NULL ポインター。
SetDictionaryResource (このメソッド) SetDictionaryResource によって設定されたディクショナリリソース内の共有ディクショナリ。 NULL ポインター。 SetDictionaryResource によって設定されたリモートディクショナリリソース。
SetDictionaryLocalSetDictionaryResource のいずれもまだ呼び出されていません。 NULL ポインター。 NULL ポインター。 NULL ポインター。
vtbl 24 HRESULT Write(ISequentialStream* stream, BOOL optimizeMarkupSize)

指定されたストリームにページを書き込みます。

streamISequentialStream*inページのシリアル化された内容を受け取るストリーム。
optimizeMarkupSizeBOOLin

ページをストリームに書き込むときに、ページのドキュメントマークアップをサイズの面で最適化するかどうかを示すブール値。

意味
TRUE
パッケージライターは、ページをストリームに書き込むときに、マークアップのサイズが最小になるよう最適化を試みます。
FALSE
パッケージライターは、ページをストリームに書き込むときに最適化を行いません。

戻り値

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

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

解説(Remarks)

ページを XPS パッケージに書き込む前にその XPS マークアップを確認するには、アプリケーションから Write メソッドを呼び出してページの内容をストリームに書き込みます。その後、アプリケーションはそのストリームを読み取り、XPS パッケージへの書き込み時にシリアル化されるのと同じ XPS マークアップを確認できます。

このメソッドによってストリームに書き込まれる XPS マークアップには、ページのマークアップは含まれますが、ページのリソースは含まれません。

vtbl 25 HRESULT GenerateUnusedLookupKey(XPS_OBJECT_TYPE type, LPWSTR* key)

リソースディクショナリ内のリソースがルックアップキーとして使用できる、一意の名前を生成します。

typeXPS_OBJECT_TYPEinルックアップキーの生成対象となる IXpsOMShareable オブジェクトの型。
keyLPWSTR*outこのメソッドによって生成されたルックアップキー文字列。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
keyNULL です。
E_INVALIDARG
type が、認識されないオブジェクトの型を参照しています。

解説(Remarks)

ディクショナリ内で一意になるように、GenerateUnusedLookupKey が生成する文字列は、オブジェクトの型に基づくプレフィックス文字列と、それに続く一意な 4 文字の英数字で構成されます。

各オブジェクト型のプレフィックス文字列を次の表に示します。

オブジェクトの型 このオブジェクト型のプレフィックス文字列
XPS_OBJECT_TYPE_CANVAS Canvas_
XPS_OBJECT_TYPE_GEOMETRY Geometry_
XPS_OBJECT_TYPE_GLYPHS Glyphs_
XPS_OBJECT_TYPE_IMAGE_BRUSH IBrush_
XPS_OBJECT_TYPE_LINEAR_GRADIENT_BRUSH LGBrush_
XPS_OBJECT_TYPE_MATRIX_TRANSFORM MTransform_
XPS_OBJECT_TYPE_PATH Path_
XPS_OBJECT_TYPE_RADIAL_GRADIENT_BRUSH RGBrush_
XPS_OBJECT_TYPE_SOLID_COLOR_BRUSH SCBrush_
XPS_OBJECT_TYPE_VISUAL_BRUSH VBrush_
メモ

このメソッドは、このページのコンテキスト内で一意となるキー文字列を返します。複数のページから使用される可能性のあるリモートディクショナリリソース内で 一意となるキーが返されることは保証されません。

このメソッドは、key に返される文字列が使用するメモリを割り当てます。keyNULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。
vtbl 26 HRESULT Clone(IXpsOMPage** page)

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

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

戻り値

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

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

解説(Remarks)

このメソッドは、コピー内のリソースポインターを更新しません。

新しいインターフェイスの所有者は 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_IXpsOMPage "{D3E18888-F120-4FEE-8C68-35296EAE91D4}"
#usecom global IXpsOMPage IID_IXpsOMPage "{}"
#comfunc global IXpsOMPage_GetOwner                 5 sptr
#comfunc global IXpsOMPage_GetVisuals               6 sptr
#comfunc global IXpsOMPage_GetPageDimensions        7 var
#comfunc global IXpsOMPage_SetPageDimensions        8 var
#comfunc global IXpsOMPage_GetContentBox            9 var
#comfunc global IXpsOMPage_SetContentBox            10 var
#comfunc global IXpsOMPage_GetBleedBox              11 var
#comfunc global IXpsOMPage_SetBleedBox              12 var
#comfunc global IXpsOMPage_GetLanguage              13 var
#comfunc global IXpsOMPage_SetLanguage              14 wstr
#comfunc global IXpsOMPage_GetName                  15 var
#comfunc global IXpsOMPage_SetName                  16 wstr
#comfunc global IXpsOMPage_GetIsHyperlinkTarget     17 var
#comfunc global IXpsOMPage_SetIsHyperlinkTarget     18 int
#comfunc global IXpsOMPage_GetDictionary            19 sptr
#comfunc global IXpsOMPage_GetDictionaryLocal       20 sptr
#comfunc global IXpsOMPage_SetDictionaryLocal       21 sptr
#comfunc global IXpsOMPage_GetDictionaryResource    22 sptr
#comfunc global IXpsOMPage_SetDictionaryResource    23 sptr
#comfunc global IXpsOMPage_Write                    24 sptr,int
#comfunc global IXpsOMPage_GenerateUnusedLookupKey  25 int,var
#comfunc global IXpsOMPage_Clone                    26 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。