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

IXpsOMPageReference

COM
IIDed360180-6f92-4998-890d-2f208531a0a0継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

XPS ドキュメント内のページの仮想化を可能にします。

解説(Remarks)

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


IXpsOMPageReference    *newInterface;
// 次の値は、この例の外部で定義されています。
XPS_SIZE        advisoryPageDimensions;

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

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

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreatePageReference (
        &advisoryPageDimensions,
        &newInterface);

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

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

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

メソッド 17

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

vtbl 3 HRESULT GetOwner(IXpsOMDocument** document)

ページ参照を含む IXpsOMDocument インターフェイスへのポインターを取得します。

documentIXpsOMDocument**outページ参照を含む IXpsOMDocument インターフェイスへのポインターです。ページ参照に所有者がない場合は、NULL ポインターが返されます。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
documentNULL です。
vtbl 4 HRESULT GetPage(IXpsOMPage** page)

ページを含む IXpsOMPage インターフェイスへのポインターを取得します。

pageIXpsOMPage**outページの IXpsOMPage インターフェイスへのポインターです。ページが設定されていない場合は、NULL ポインターが返されます。

戻り値

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

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

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、Packaging Errors を参照してください。

解説(Remarks)

ページが設定されていない場合でも、そのページ参照を含む IXpsOMPackage インターフェイスが XPS パッケージから読み込まれていれば、このメソッドはページを読み込んで返します。ページが設定されておらず、このページ参照を含む IXpsOMPackage インターフェイスも XPS パッケージから読み込まれていない場合は、NULL ポインターが返されます。

ページの内容によっては、この呼び出しが戻るまでに時間がかかることがあり、ドキュメントツリー内の他のオブジェクトに予期しない変更が生じる場合もあります。たとえば、ページがリモートリソースディクショナリを参照している場合、そのリモートリソースディクショナリが変更されることがあります。

vtbl 5 HRESULT SetPage(IXpsOMPage* page)

ページ参照の IXpsOMPage インターフェイスを設定します。

pageIXpsOMPage*inページの IXpsOMPage インターフェイスポインターです。

戻り値

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

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

解説(Remarks)

このメソッドで追加するページは、空でも完全に構築済みでもかまいません。

追加するページがリモートディクショナリオブジェクトへの参照を持っている場合、それらのオブジェクトはこの呼び出しではドキュメントオブジェクトにインポートされません。IXpsOMPage::SetDictionaryResource メソッドまたは IXpsOMCanvas::SetDictionaryResource メソッドを個別に呼び出して追加する必要があります。

既にページが設定されている場合、呼び出し側は新しいページで SetPage を呼び出す前に、そのページを解放しておく必要があります。新しいページで SetPage を呼び出した後は、元のページがパッケージ内に残っていても破棄できなくなるためです。

vtbl 6 HRESULT DiscardPage()

ページをメモリから破棄します。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_UNEXPECTED

DiscardPage が複数回呼び出されたか、ページが読み込まれていません。

解説(Remarks)

SetPage が呼び出されていない場合、DiscardPage を呼び出した後に GetPage を呼び出すと、ソースパッケージから仮想化されたページが返されます。SetPage が呼び出されている場合、DiscardPage を呼び出した後に GetPage を呼び出すと NULL が返されます。

この IXpsOMPageReference インターフェイスが参照するページがすべてメモリ上で構築されており、対応するファイルが存在しない場合、DiscardPage はページをメモリから削除し、ページの内容は失われます。ページがファイルから構築されている場合、DiscardPage はページをメモリから削除しますが、元のファイルは変更しません。ページは GetPage を呼び出すことで再構築され、メモリに読み込み直すことができます。

ページがファイルから構築された後に変更されている場合、DiscardPage はページをメモリから破棄し、ページに加えられた変更は失われます。この後に GetPage を呼び出すと、元の内容がファイルから再度読み込まれます。

vtbl 7 HRESULT IsPageLoaded(BOOL* isPageLoaded)

参照先ページの状態、つまりページが読み込まれているかどうかを取得します。

isPageLoadedBOOL*out

ページの状態を示すブール値です。

意味
TRUE
ページは読み込まれています。
FALSE
ページは読み込まれていません。

戻り値

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

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

ページの推奨サイズを取得します。

pageDimensionsXPS_SIZE*out

ページの推奨サイズです。

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

戻り値

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

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

解説(Remarks)

Note   サイズの値が設定されていない場合、そのサイズには –1.0 が返されます。
 
vtbl 9 HRESULT SetAdvisoryPageDimensions(XPS_SIZE* pageDimensions)

ページの推奨サイズを設定します。

pageDimensionsXPS_SIZE*in

ページに設定する推奨サイズです。

height メンバーと width メンバーには、–1.0 または +1.0 以上の値を指定する必要があります。

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

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
pageDimensionsNULL であるか、pageDimensions が参照する XPS_SIZE 構造体のフィールドに無効な値が含まれています。
XPS_E_INVALID_PAGE_SIZE
pageDimensions で指定された推奨ページサイズが無効です。pageDimensionsheight メンバーと width メンバーには、–1.0 または +1.0 以上の値を指定する必要があります。

解説(Remarks)

pageDimensions が参照する XPS_SIZE 構造体の height メンバーと width メンバーには、値を設定する場合は +1.0 以上の値を、設定しない場合は –1.0 を指定する必要があります。たとえば、ページの幅にだけ推奨サイズを設定する場合は、pageDimensions.width に目的の値を指定し、pageDimensions.height には –1.0 を指定します。

vtbl 10 HRESULT GetStoryFragmentsResource(IXpsOMStoryFragmentsResource** storyFragmentsResource)

ページに関連付けられている StoryFragments パートのリソースの IXpsOMStoryFragmentsResource インターフェイスへのポインターを取得します。

storyFragmentsResourceIXpsOMStoryFragmentsResource**outページに関連付けられている StoryFragments パートのリソースの IXpsOMStoryFragmentsResource インターフェイスへのポインターです。StoryFragments パートが存在しない場合は、NULL ポインターが返されます。

戻り値

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

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

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、Packaging Errors を参照してください。

解説(Remarks)

リソースが解析されて XPS OM に読み込まれた後、このメソッドが別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。

ページの StoryFragments パートには、1 つの固定ページに関連付けられた 1 つ以上のストーリーの一部を記述する XML マークアップが含まれます。StoryFragments パートの XML マークアップが記述するドキュメントの内容には、そのページ上にあるストーリーの表や段落などがあります。

DocumentStructure パートと StoryFragments パートの XML マークアップについては、XML Paper Specification で説明されています。

vtbl 11 HRESULT SetStoryFragmentsResource(IXpsOMStoryFragmentsResource* storyFragmentsResource)

ページに割り当てる StoryFragments リソースの IXpsOMStoryFragmentsResource インターフェイスポインターを設定します。

storyFragmentsResourceIXpsOMStoryFragmentsResource*inページに割り当てる StoryFragments パートのリソースの IXpsOMStoryFragmentsResource インターフェイスへのポインターです。IXpsOMStoryFragmentsResource インターフェイスが既に設定されている場合、NULL ポインターを指定するとそれが解放されます。

戻り値

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

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

解説(Remarks)

ページの StoryFragments パートには、1 つの固定ページに関連付けられた 1 つ以上のストーリーの一部を記述する XML マークアップが含まれます。StoryFragments パートの XML マークアップが記述するドキュメントの内容には、そのページ上にあるストーリーの表や段落などがあります。

DocumentStructure パートと StoryFragments パートの XML マークアップについては、XML Paper Specification で説明されています。

vtbl 12 HRESULT GetPrintTicketResource(IXpsOMPrintTicketResource** printTicketResource)

ページに関連付けられているページレベルの印刷チケットリソースの IXpsOMPrintTicketResource インターフェイスへのポインターを取得します。

printTicketResourceIXpsOMPrintTicketResource**outページに関連付けられているページレベルの印刷チケットリソースの IXpsOMPrintTicketResource インターフェイスへのポインターです。印刷チケットリソースが設定されていない場合は、NULL ポインターが返されます。

戻り値

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

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

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、Packaging Errors を参照してください。

解説(Remarks)

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

vtbl 13 HRESULT SetPrintTicketResource(IXpsOMPrintTicketResource* printTicketResource)

ページに割り当てるページレベルの印刷チケットリソースの IXpsOMPrintTicketResource インターフェイスポインターを設定します。

printTicketResourceIXpsOMPrintTicketResource*inページに割り当てるページレベルの印刷チケットリソースの IXpsOMPrintTicketResource インターフェイスへのポインターです。印刷チケットが既に設定されている場合、NULL ポインターを指定するとそれが解放されます。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_NO_CUSTOM_OBJECTS
printTicketResource が認識されるインターフェイス実装を指していません。XPS Document API インターフェイスの独自実装はサポートされていません。
vtbl 14 HRESULT GetThumbnailResource(IXpsOMImageResource** imageResource)

ページに関連付けられているサムネイル画像リソースの IXpsOMImageResource インターフェイスへのポインターを取得します。

imageResourceIXpsOMImageResource**outページに関連付けられているサムネイル画像リソースの IXpsOMImageResource インターフェイスへのポインターです。サムネイル画像リソースがページに割り当てられていない場合は、NULL ポインターが返されます。

戻り値

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

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

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、Packaging Errors を参照してください。

解説(Remarks)

サムネイル画像は、ページの内容を小さく視覚的に表したものです。

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

vtbl 15 HRESULT SetThumbnailResource(IXpsOMImageResource* imageResource)

ページに割り当てるサムネイル画像リソースの IXpsOMImageResource インターフェイスへのポインターを設定します。

imageResourceIXpsOMImageResource*inページに割り当てるサムネイル画像リソースの IXpsOMImageResource インターフェイスへのポインターです。IXpsOMImageResource インターフェイスが既に設定されている場合、NULL ポインターを指定するとそれが解放されます。

戻り値

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

戻り値 説明
S_OK
メソッドは成功しました。
XPS_E_INVALID_THUMBNAIL_IMAGE_TYPE
imageResource の画像は、サポートされている画像形式ではありません。
XPS_E_NO_CUSTOM_OBJECTS
imageResource が認識されるインターフェイス実装を指していません。XPS Document API インターフェイスの独自実装はサポートされていません。

解説(Remarks)

サムネイル画像は、ドキュメントの内容を小さく視覚的に表したものです。

画像リソースの画像形式は、XPS_IMAGE_TYPE_JPEG または XPS_IMAGE_TYPE_PNG のいずれかである必要があります。

vtbl 16 HRESULT CollectLinkTargets(IXpsOMNameCollection** linkTargets)

IsHyperlinkTarget プロパティが TRUE に設定されている、ドキュメントサブツリー内のすべてのオブジェクトの名前を格納した IXpsOMNameCollection インターフェイスを取得します。

linkTargetsIXpsOMNameCollection**out

IsHyperlinkTarget プロパティが TRUE に設定されている、ドキュメントサブツリー内のすべてのオブジェクトの名前を格納した IXpsOMNameCollection インターフェイスへのポインターです。そのようなオブジェクトがドキュメント内に存在しない場合、IXpsOMNameCollection インターフェイスは空になります。

Note  このメソッドは、呼び出すたびに新しいコレクションを返します。
 

戻り値

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

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

解説(Remarks)

ページが元々パッケージから読み込まれたものであり、現在オブジェクトモデルに読み込まれていない場合、このメソッドは元の PageContent.LinkTargets マークアップで指定された値を返します。

ドキュメントにリンクターゲットが 1 つも存在しない場合、linkTargets に返される名前コレクションは空になります。

linkTargets に返されるコレクションの要素数を取得するには、コレクションの GetCount メソッドを呼び出します。

このメソッドは、呼び出すたびに新しいコレクションへのポインターを返します。メモリリークを防ぐため、以前のコレクションへのポインターは、不要になった時点、またはポインター変数をこのメソッドの次の呼び出しに再利用する前に解放してください。次のコード例は、プログラムでこれを行う方法を示しています。

    HRESULT                         hr = S_OK;
    IXpsOMPage                      *page = NULL;
    IXpsOMNameCollection            *linkTargets = NULL;

    UINT32 numTargets = 0;
    UINT32 thisTarget = 0;
    LPWSTR thisTargetName = NULL;

    // pageRef には現在のページ参照が格納されています

    // ページがまだ読み込まれていない場合(たとえば XPS OM が XPS ドキュメントから
    //  読み込まれた場合)、CollectLinkTargets は <PageContent.LinkTargets> マークアップから
    //  リンクターゲットの一覧を取得します
    hr = pageRef->CollectLinkTargets(&linkTargets);

    // このページ参照のページコンテンツを取得します
    hr = pageRef->GetPage (&page);

    // GetPage の呼び出しによってページオブジェクトが読み込まれた後、または
    //  XPS OM でページを作成した後は、CollectLinkTargets が各ページ要素を
    //  調べて一覧を返すため、XPS OM がファイルから作成された場合、この
    //  CollectLinkTargets の呼び出しは上記の呼び出しよりも時間がかかることがあります
    linkTargets->Release(); // 以前のコレクションを解放します
    hr = pageRef->CollectLinkTargets(&linkTargets);
    
    // 返されたリンクターゲットの一覧を走査します
    hr = linkTargets->GetCount( &numTargets );
    thisTarget = 0;
    while (thisTarget < numTargets) {
        hr = linkTargets->GetAt (thisTarget, &thisTargetName);
        printf ("%s\n", thisTargetName);
        // メモリリークを防ぐため、返されたターゲット文字列を解放します
        CoTaskMemFree (thisTargetName);
        // 一覧内の次のターゲットを取得します
        thisTarget++;
    }
    // ページとリンクターゲットコレクションを解放します
    page->Release();
    linkTargets->Release();
vtbl 17 HRESULT CollectPartResources(IXpsOMPartResources** partResources)

ページに関連付けられているすべてのパートベースのリソースの一覧を作成します。

partResourcesIXpsOMPartResources**outページに関連付けられているすべてのパートベースのリソースの一覧を格納する IXpsOMPartResources インターフェイスへのポインターです。

戻り値

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

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

このメソッドは Packaging API を呼び出します。Packaging API の戻り値については、Packaging Errors を参照してください。

解説(Remarks)

このメソッドの呼び出し時にページが読み込まれていない場合、このメソッドはページのリレーションシップパートを解析してこのページに関連付けられたパートベースのリソースを検出し、partResources パラメーターに返します。ページが読み込まれている場合は、ページのオブジェクトモデルをたどってパートベースのリソースを検出し、partResources に返します。

IXpsOMPartResources インターフェイスに返されるリソースパートの一覧は、メソッドが呼び出された時点のドキュメント構造のスナップショットです。この呼び出しの後にドキュメントに加えられた変更は、このメソッドが返した IXpsOMPartResources インターフェイスには反映されません。同様に、このメソッドが返した IXpsOMPartResources インターフェイスに加えた変更も、ドキュメントの内容には反映されません。

vtbl 18 HRESULT HasRestrictedFonts(BOOL* restrictedFonts)

参照先ページのドキュメントサブツリーに、EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースを持つ Glyphs が含まれているかどうかを示すブール値を取得します。

restrictedFontsBOOL*out

参照先ページのドキュメントサブツリーに、EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースを持つ IXpsOMGlyphs インターフェイスが含まれているかどうかを示すブール値です。

意味
TRUE
参照先ページが読み込まれている場合、そのページは EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースを少なくとも 1 つ参照しています。

参照先ページが読み込まれていない場合、そのページは EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースと少なくとも 1 つのリレーションシップを持っています。

FALSE
参照先ページが読み込まれている場合、そのページは EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースを 1 つも参照していません。

参照先ページが読み込まれていない場合、そのページは EmbeddingOption プロパティが XPS_FONT_EMBEDDING_RESTRICTED に設定されたフォントリソースとのリレーションシップを持っていません。

戻り値

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

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

解説(Remarks)

この値は自動的には更新されません。フォントやグリフの追加や削除によって値が変化する場合は、HasRestrictedFonts を再度呼び出して現在の値を取得する必要があります。

vtbl 19 HRESULT Clone(IXpsOMPageReference** pageReference)

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

pageReferenceIXpsOMPageReference**outインターフェイスのコピーへのポインターです。

戻り値

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

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IXpsOMPageReference "{ED360180-6F92-4998-890D-2F208531A0A0}"
#usecom global IXpsOMPageReference IID_IXpsOMPageReference "{}"
#comfunc global IXpsOMPageReference_GetOwner                   3 sptr
#comfunc global IXpsOMPageReference_GetPage                    4 sptr
#comfunc global IXpsOMPageReference_SetPage                    5 sptr
#comfunc global IXpsOMPageReference_DiscardPage                6
#comfunc global IXpsOMPageReference_IsPageLoaded               7 var
#comfunc global IXpsOMPageReference_GetAdvisoryPageDimensions  8 var
#comfunc global IXpsOMPageReference_SetAdvisoryPageDimensions  9 var
#comfunc global IXpsOMPageReference_GetStoryFragmentsResource  10 sptr
#comfunc global IXpsOMPageReference_SetStoryFragmentsResource  11 sptr
#comfunc global IXpsOMPageReference_GetPrintTicketResource     12 sptr
#comfunc global IXpsOMPageReference_SetPrintTicketResource     13 sptr
#comfunc global IXpsOMPageReference_GetThumbnailResource       14 sptr
#comfunc global IXpsOMPageReference_SetThumbnailResource       15 sptr
#comfunc global IXpsOMPageReference_CollectLinkTargets         16 sptr
#comfunc global IXpsOMPageReference_CollectPartResources       17 sptr
#comfunc global IXpsOMPageReference_HasRestrictedFonts         18 var
#comfunc global IXpsOMPageReference_Clone                      19 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。