IXpsOMCanvas
COM公式ドキュメント
ビジュアル要素と関連するプロパティのグループです。
解説(Remarks)
次のコード例は、このインターフェースのインスタンスを作成する方法を示しています。
IXpsOMCanvas *newInterface;
// 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->CreateCanvas (&newInterface);
if (SUCCEEDED(hr))
{
// use newInterface
newInterface->Release();
}
xpsFactory->Release();
}
else
{
// evaluate HRESULT error returned in hr
}
メソッド 13
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
キャンバス内のビジュアルオブジェクトのコレクションを格納する IXpsOMVisualCollection インターフェースへのポインターを取得します。
| visuals | IXpsOMVisualCollection** | out | キャンバス内のビジュアルオブジェクトのコレクションです。キャンバスにビジュアルオブジェクトが 1 つも関連付けられていない場合は、空のコレクションが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| visuals が NULL です。 |
キャンバス内のオブジェクトのエッジをエイリアスエッジモードでレンダリングするかどうかを決定するブール値を取得します。
| useAliasedEdgeMode | BOOL* | out | キャンバス内のオブジェクトをエイリアスエッジモードでレンダリングするかどうかを決定するブール値です。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| useAliasedEdgeMode が NULL です。 |
解説(Remarks)
このメソッドが返すプロパティは、ドキュメントマークアップ内の Canvas 要素の RenderOptions.EdgeMode 属性に対応します。
このキャンバス内のオブジェクトのエッジをエイリアスエッジモードでレンダリングするかどうかを決定する値を設定します。
| useAliasedEdgeMode | BOOL | in | このキャンバス内の子オブジェクトのエッジをエイリアスエッジモードでレンダリングするかどうかを決定するブール値です。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このプロパティは、ドキュメントマークアップ内の Canvas 要素の RenderOptions.EdgeMode 属性に対応します。
オブジェクトの内容に関する短いテキストの説明を取得します。
| shortDescription | LPWSTR* | out | オブジェクトの内容に関する短いテキストの説明です。この説明が設定されていない場合は、NULL ポインターが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| shortDescription が NULL です。 |
解説(Remarks)
このメソッドが返すプロパティは、ドキュメントマークアップ内の Canvas 要素の AutomationProperties.Name 属性に対応します。
このメソッドは、shortDescription で返される文字列が使用するメモリを割り当てます。shortDescription が NULL でない場合は、CoTaskMemFree 関数を使用してメモリを解放してください。
オブジェクトの内容に関する短いテキストの説明を設定します。(IXpsOMCanvas.SetAccessibilityShortDescription)
| shortDescription | LPWSTR | in | オブジェクトの内容に関する短いテキストの説明です。NULL ポインターを指定すると、以前に割り当てられたテキストがクリアされます。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドで設定されるプロパティは、ドキュメントマークアップ内の Canvas 要素の AutomationProperties.HelpText 属性に対応します。
オブジェクトの内容に関する長い (詳細な) テキストの説明を取得します。(IXpsOMCanvas.GetAccessibilityLongDescription)
| longDescription | LPWSTR* | out | オブジェクトの内容に関する長い (詳細な) テキストの説明です。このテキストが設定されていない場合は、NULL ポインターが返されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| longDescription が NULL です。 |
解説(Remarks)
このメソッドが返すプロパティは、ドキュメントマークアップ内の Canvas 要素の AutomationProperties.HelpText 属性に対応します。
このメソッドは、longDescription で返される文字列が使用するメモリを割り当てます。longDescription が NULL でない場合は、SignatureDefinitions 関数を使用してメモリを解放してください。
オブジェクトの内容に関する長い (詳細な) テキストの説明を設定します。(IXpsOMCanvas.SetAccessibilityLongDescription)
| longDescription | LPWSTR | in | オブジェクトの内容に関する長い (詳細な) テキストの説明です。NULL ポインターを指定すると、以前に割り当てられた値がクリアされます。 |
戻り値
メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドで設定されるプロパティは、ドキュメントマークアップ内の Canvas 要素の AutomationProperties.HelpText 属性に対応します。
キャンバスに関連付けられたディクショナリの、解決済みの IXpsOMDictionary インターフェースへのポインターを取得します。
| resourceDictionary | IXpsOMDictionary** | out | ディクショナリの、解決済みの IXpsOMDictionary インターフェースへのポインターです。 このパラメーターで返される値は、ディクショナリを設定するために直前に呼び出されたメソッドによって異なります。
|
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| resourceDictionary が NULL です。 |
解説(Remarks)
GetDictionary は、ローカルディクショナリまたはリモートディクショナリのインターフェースポインターを返すことがあります。ディクショナリがローカルかリモートかを判断するには、GetOwner を呼び出します。
リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。
ローカルの非共有ディクショナリの IXpsOMDictionary インターフェースへのポインターを取得します。
| resourceDictionary | IXpsOMDictionary** | out | ローカルの非共有ディクショナリへの IXpsOMDictionary インターフェースポインターです(設定されている場合)。ローカルディクショナリが設定されていない場合、またはリモートディクショナリリソースが設定されている場合は、NULL ポインターが返されます。
|
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| resourceDictionary が NULL です。 |
解説(Remarks)
このメソッドがリソースを XPS OM に読み込んで解析するとき、別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。
このメソッドが返す可能性があるその他の戻り値については、XPS Document Errors を参照してください。
ローカルの非共有ディクショナリの IXpsOMDictionary インターフェースポインターを設定します。
| resourceDictionary | IXpsOMDictionary* | in | ローカルの非共有ディクショナリの IXpsOMDictionary インターフェースです。NULL ポインターを指定すると、以前に割り当てられたローカルディクショナリが解放されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| resourceDictionary が認識可能なインターフェース実装を指していません。XPS ドキュメント API インターフェースのカスタム実装はサポートされていません。 |
解説(Remarks)
SetDictionaryLocal を呼び出すと、リモートディクショナリリソースは解放され、GetDictionaryResource は remoteDictionaryResource パラメーターに NULL ポインターを返します。このプロパティのローカル値とリモート値の関係を次の表に示します。
| 最後に呼び出されたメソッド | GetDictionary が resourceDictionary で返すオブジェクト | GetDictionaryLocal が resourceDictionary で返すオブジェクト | GetDictionaryResource が remoteDictionaryResource で返すオブジェクト |
|---|---|---|---|
| SetDictionaryLocal (このメソッド) | SetDictionaryLocal によって設定されたローカルディクショナリ。 | SetDictionaryLocal によって設定されたローカルディクショナリ。 | NULL ポインター。 |
| SetDictionaryResource によって設定されたディクショナリリソース内の共有ディクショナリ。 | NULL ポインター。 | SetDictionaryResource によって設定されたリモートディクショナリリソース。 | |
| SetDictionaryLocal も SetDictionaryResource もまだ呼び出されていません。 | NULL ポインター。 | NULL ポインター。 | NULL ポインター。 |
リモートディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェースへのポインターを取得します。
| remoteDictionaryResource | IXpsOMRemoteDictionaryResource** | out | リモートディクショナリリソースへの IXpsOMRemoteDictionaryResource インターフェースポインターです(設定されている場合)。リモートディクショナリリソースが設定されていない場合、またはローカルディクショナリリソースが設定されている場合は、NULL ポインターが返されます。
|
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| remoteDictionaryResource が NULL です。 |
解説(Remarks)
リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。
リモートディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェースポインターを設定します。
| remoteDictionaryResource | IXpsOMRemoteDictionaryResource* | in | リモートディクショナリリソースの IXpsOMRemoteDictionaryResource インターフェースです。NULL ポインターを指定すると、以前に割り当てられたディクショナリリソースが解放されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| remoteDictionaryResource が認識可能なインターフェース実装を指していません。XPS ドキュメント API インターフェースのカスタム実装はサポートされていません。 |
解説(Remarks)
このメソッドを呼び出すと、GetDictionaryLocal は resourceDictionary パラメーターに NULL ポインターを返します。
| 最後に呼び出されたメソッド | GetDictionary が resourceDictionary で返すオブジェクト | GetDictionaryLocal が resourceDictionary で返すオブジェクト | GetDictionaryResource が remoteDictionaryResource で返すオブジェクト |
|---|---|---|---|
| SetDictionaryLocal によって設定されたローカルディクショナリ。 | SetDictionaryLocal によって設定されたローカルディクショナリ。 | NULL ポインター。 | |
| SetDictionaryResource (このメソッド) | SetDictionaryResource によって設定されたディクショナリリソース内の共有ディクショナリ。 | NULL ポインター。 | SetDictionaryResource によって設定されたリモートディクショナリリソース。 |
| SetDictionaryLocal も SetDictionaryResource もまだ呼び出されていません。 | NULL ポインター。 | NULL ポインター。 | NULL ポインター。 |
インターフェースのディープコピーを作成します。(IXpsOMCanvas.Clone)
| canvas | IXpsOMCanvas** | out | インターフェースのコピーへのポインターです。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| この操作を実行するための十分なメモリがありません。 | |
| canvas が NULL です。 |
解説(Remarks)
新しいインターフェースの所有者は NULL です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IXpsOMCanvas "{221D1452-331E-47C6-87E9-6CCEFB9B5BA3}" #usecom global IXpsOMCanvas IID_IXpsOMCanvas "{}" #comfunc global IXpsOMCanvas_GetVisuals 30 sptr #comfunc global IXpsOMCanvas_GetUseAliasedEdgeMode 31 var #comfunc global IXpsOMCanvas_SetUseAliasedEdgeMode 32 int #comfunc global IXpsOMCanvas_GetAccessibilityShortDescription 33 var #comfunc global IXpsOMCanvas_SetAccessibilityShortDescription 34 wstr #comfunc global IXpsOMCanvas_GetAccessibilityLongDescription 35 var #comfunc global IXpsOMCanvas_SetAccessibilityLongDescription 36 wstr #comfunc global IXpsOMCanvas_GetDictionary 37 sptr #comfunc global IXpsOMCanvas_GetDictionaryLocal 38 sptr #comfunc global IXpsOMCanvas_SetDictionaryLocal 39 sptr #comfunc global IXpsOMCanvas_GetDictionaryResource 40 sptr #comfunc global IXpsOMCanvas_SetDictionaryResource 41 sptr #comfunc global IXpsOMCanvas_Clone 42 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXpsOMCanvas "{221D1452-331E-47C6-87E9-6CCEFB9B5BA3}" #usecom global IXpsOMCanvas IID_IXpsOMCanvas "{}" #comfunc global IXpsOMCanvas_GetVisuals 30 sptr #comfunc global IXpsOMCanvas_GetUseAliasedEdgeMode 31 sptr #comfunc global IXpsOMCanvas_SetUseAliasedEdgeMode 32 int #comfunc global IXpsOMCanvas_GetAccessibilityShortDescription 33 sptr #comfunc global IXpsOMCanvas_SetAccessibilityShortDescription 34 wstr #comfunc global IXpsOMCanvas_GetAccessibilityLongDescription 35 sptr #comfunc global IXpsOMCanvas_SetAccessibilityLongDescription 36 wstr #comfunc global IXpsOMCanvas_GetDictionary 37 sptr #comfunc global IXpsOMCanvas_GetDictionaryLocal 38 sptr #comfunc global IXpsOMCanvas_SetDictionaryLocal 39 sptr #comfunc global IXpsOMCanvas_GetDictionaryResource 40 sptr #comfunc global IXpsOMCanvas_SetDictionaryResource 41 sptr #comfunc global IXpsOMCanvas_Clone 42 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。