ホーム › Graphics.Printing › IPrintCoreHelper
IPrintCoreHelper
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetOption(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureRequested, LPSTR* ppszOption)
| pDevmode | DEVMODEA* | inoptional | 現在設定の取得元となるDEVMODE構造体へのポインタ。 |
| cbSize | DWORD | in | pDevmodeバッファの全体サイズ(バイト単位)。 |
| pszFeatureRequested | LPSTR | in | 値を取得したい印刷機能のキーワードを指定する入力文字列。 |
| ppszOption | LPSTR* | out | 指定機能に現在選択されているオプションのキーワード文字列を受け取る出力先。 |
vtbl 4 HRESULT SetOptions(DEVMODEA* pDevmode, DWORD cbSize, BOOL bResolveConflicts, PRINT_FEATURE_OPTION* pFOPairs, DWORD cPairs, DWORD* pcPairsWritten, DWORD* pdwResult)
| pDevmode | DEVMODEA* | inout | 更新対象のDEVMODE構造体へのポインタ。設定結果が書き戻される。 |
| cbSize | DWORD | in | pDevmodeバッファのサイズ(バイト単位)。 |
| bResolveConflicts | BOOL | in | 設定間の競合を自動解決するか指定するBOOL。TRUEで自動解決する。 |
| pFOPairs | PRINT_FEATURE_OPTION* | in | 設定する機能とオプションのペア配列を指すPRINT_FEATURE_OPTIONポインタ。 |
| cPairs | DWORD | in | pFOPairs配列の要素数。 |
| pcPairsWritten | DWORD* | inout | 実際に書き込まれたペア数を受け取る出力先。 |
| pdwResult | DWORD* | inout | 競合解決結果等を示す状態コードを受け取る出力先。 |
vtbl 5 HRESULT EnumConstrainedOptions(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureKeyword, LPSTR*** pConstrainedOptionList, DWORD* pdwNumOptions)
| pDevmode | DEVMODEA* | in | 制約評価の基準とするDEVMODE構造体へのポインタ。 |
| cbSize | DWORD | in | pDevmodeバッファのサイズ(バイト単位)。 |
| pszFeatureKeyword | LPSTR | in | 制約付きオプションを列挙する対象機能のキーワードを指定する入力文字列。 |
| pConstrainedOptionList | LPSTR*** | in | 制約により選択不能なオプションキーワードの文字列配列を受け取る出力先(LPSTR配列)。 |
| pdwNumOptions | DWORD* | inout | 返された制約付きオプションの個数を受け取る出力先。 |
vtbl 6 HRESULT WhyConstrained(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureKeyword, LPSTR pszOptionKeyword, PRINT_FEATURE_OPTION** ppFOConstraints, DWORD* pdwNumOptions)
| pDevmode | DEVMODEA* | inoptional | 制約理由の評価基準とするDEVMODE構造体へのポインタ。 |
| cbSize | DWORD | in | pDevmodeバッファのサイズ(バイト単位)。 |
| pszFeatureKeyword | LPSTR | in | 評価対象機能のキーワードを指定する入力文字列。 |
| pszOptionKeyword | LPSTR | in | 制約理由を調べるオプションのキーワードを指定する入力文字列。 |
| ppFOConstraints | PRINT_FEATURE_OPTION** | out | 制約の原因となる機能・オプションペア配列を受け取るPRINT_FEATURE_OPTION出力先。 |
| pdwNumOptions | DWORD* | out | 返された制約ペアの個数を受け取る出力先。 |
| pFeatureList | LPSTR*** | out | 利用可能な全機能キーワードの文字列配列を受け取る出力先(LPSTR配列)。 |
| pdwNumFeatures | DWORD* | out | 返された機能の個数を受け取る出力先。 |
| pszFeatureKeyword | LPSTR | in | オプションを列挙する対象機能のキーワードを指定する入力文字列。 |
| pOptionList | LPSTR*** | out | 当該機能の全オプションキーワードの文字列配列を受け取る出力先(LPSTR配列)。 |
| pdwNumOptions | DWORD* | out | 返されたオプションの個数を受け取る出力先。 |
| pszTrueTypeFontName | LPWSTR | in | 代替先を調べるTrueTypeフォント名を指定する入力文字列。 |
| ppszDevFontName | LPWSTR* | in | 対応するデバイスフォント名を受け取る出力先。CoTaskMemFreeで解放する。 |
| pszTrueTypeFontName | LPWSTR | in | 置換元となるTrueTypeフォント名を指定する入力文字列。 |
| pszDevFontName | LPWSTR | in | 置換先となるデバイスフォント名を指定する入力文字列。 |
vtbl 11 HRESULT CreateInstanceOfMSXMLObject(GUID* rclsid, IUnknown* pUnkOuter, DWORD dwClsContext, GUID* riid, void** ppv)
| rclsid | GUID* | in | 生成するMSXMLオブジェクトのクラスIDを指すGUIDポインタ。 |
| pUnkOuter | IUnknown* | in | アグリゲーション用の外側IUnknown。通常はNULL。 |
| dwClsContext | DWORD | in | オブジェクトの実行コンテキストを指定するCLSCTXフラグ。 |
| riid | GUID* | in | 要求するインタフェースのIIDを指すGUIDポインタ。 |
| ppv | void** | inout | 生成されたインタフェースポインタを受け取る出力先(void**)。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IPrintCoreHelper "{A89EC53E-3905-49C6-9C1A-C0A88117FDB6}" #usecom global IPrintCoreHelper IID_IPrintCoreHelper "{}" #comfunc global IPrintCoreHelper_GetOption 3 var,int,str,var #comfunc global IPrintCoreHelper_SetOptions 4 var,int,int,var,int,var,var #comfunc global IPrintCoreHelper_EnumConstrainedOptions 5 var,int,str,var,var #comfunc global IPrintCoreHelper_WhyConstrained 6 var,int,str,str,var,var #comfunc global IPrintCoreHelper_EnumFeatures 7 var,var #comfunc global IPrintCoreHelper_EnumOptions 8 str,var,var #comfunc global IPrintCoreHelper_GetFontSubstitution 9 wstr,var #comfunc global IPrintCoreHelper_SetFontSubstitution 10 wstr,wstr #comfunc global IPrintCoreHelper_CreateInstanceOfMSXMLObject 11 var,sptr,int,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IPrintCoreHelper "{A89EC53E-3905-49C6-9C1A-C0A88117FDB6}" #usecom global IPrintCoreHelper IID_IPrintCoreHelper "{}" #comfunc global IPrintCoreHelper_GetOption 3 sptr,int,str,sptr #comfunc global IPrintCoreHelper_SetOptions 4 sptr,int,int,sptr,int,sptr,sptr #comfunc global IPrintCoreHelper_EnumConstrainedOptions 5 sptr,int,str,sptr,sptr #comfunc global IPrintCoreHelper_WhyConstrained 6 sptr,int,str,str,sptr,sptr #comfunc global IPrintCoreHelper_EnumFeatures 7 sptr,sptr #comfunc global IPrintCoreHelper_EnumOptions 8 str,sptr,sptr #comfunc global IPrintCoreHelper_GetFontSubstitution 9 wstr,sptr #comfunc global IPrintCoreHelper_SetFontSubstitution 10 wstr,wstr #comfunc global IPrintCoreHelper_CreateInstanceOfMSXMLObject 11 sptr,sptr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。