Win32 API 日本語リファレンス
ホームGraphics.Printing › IPrintCoreHelper

IPrintCoreHelper

COM
IIDa89ec53e-3905-49c6-9c1a-c0a88117fdb6継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT GetOption(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureRequested, LPSTR* ppszOption)
pDevmodeDEVMODEA*inoptional現在設定の取得元となるDEVMODE構造体へのポインタ。
cbSizeDWORDinpDevmodeバッファの全体サイズ(バイト単位)。
pszFeatureRequestedLPSTRin値を取得したい印刷機能のキーワードを指定する入力文字列。
ppszOptionLPSTR*out指定機能に現在選択されているオプションのキーワード文字列を受け取る出力先。
vtbl 4 HRESULT SetOptions(DEVMODEA* pDevmode, DWORD cbSize, BOOL bResolveConflicts, PRINT_FEATURE_OPTION* pFOPairs, DWORD cPairs, DWORD* pcPairsWritten, DWORD* pdwResult)
pDevmodeDEVMODEA*inout更新対象のDEVMODE構造体へのポインタ。設定結果が書き戻される。
cbSizeDWORDinpDevmodeバッファのサイズ(バイト単位)。
bResolveConflictsBOOLin設定間の競合を自動解決するか指定するBOOL。TRUEで自動解決する。
pFOPairsPRINT_FEATURE_OPTION*in設定する機能とオプションのペア配列を指すPRINT_FEATURE_OPTIONポインタ。
cPairsDWORDinpFOPairs配列の要素数。
pcPairsWrittenDWORD*inout実際に書き込まれたペア数を受け取る出力先。
pdwResultDWORD*inout競合解決結果等を示す状態コードを受け取る出力先。
vtbl 5 HRESULT EnumConstrainedOptions(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureKeyword, LPSTR*** pConstrainedOptionList, DWORD* pdwNumOptions)
pDevmodeDEVMODEA*in制約評価の基準とするDEVMODE構造体へのポインタ。
cbSizeDWORDinpDevmodeバッファのサイズ(バイト単位)。
pszFeatureKeywordLPSTRin制約付きオプションを列挙する対象機能のキーワードを指定する入力文字列。
pConstrainedOptionListLPSTR***in制約により選択不能なオプションキーワードの文字列配列を受け取る出力先(LPSTR配列)。
pdwNumOptionsDWORD*inout返された制約付きオプションの個数を受け取る出力先。
vtbl 6 HRESULT WhyConstrained(DEVMODEA* pDevmode, DWORD cbSize, LPSTR pszFeatureKeyword, LPSTR pszOptionKeyword, PRINT_FEATURE_OPTION** ppFOConstraints, DWORD* pdwNumOptions)
pDevmodeDEVMODEA*inoptional制約理由の評価基準とするDEVMODE構造体へのポインタ。
cbSizeDWORDinpDevmodeバッファのサイズ(バイト単位)。
pszFeatureKeywordLPSTRin評価対象機能のキーワードを指定する入力文字列。
pszOptionKeywordLPSTRin制約理由を調べるオプションのキーワードを指定する入力文字列。
ppFOConstraintsPRINT_FEATURE_OPTION**out制約の原因となる機能・オプションペア配列を受け取るPRINT_FEATURE_OPTION出力先。
pdwNumOptionsDWORD*out返された制約ペアの個数を受け取る出力先。
vtbl 7 HRESULT EnumFeatures(LPSTR*** pFeatureList, DWORD* pdwNumFeatures)
pFeatureListLPSTR***out利用可能な全機能キーワードの文字列配列を受け取る出力先(LPSTR配列)。
pdwNumFeaturesDWORD*out返された機能の個数を受け取る出力先。
vtbl 8 HRESULT EnumOptions(LPSTR pszFeatureKeyword, LPSTR*** pOptionList, DWORD* pdwNumOptions)
pszFeatureKeywordLPSTRinオプションを列挙する対象機能のキーワードを指定する入力文字列。
pOptionListLPSTR***out当該機能の全オプションキーワードの文字列配列を受け取る出力先(LPSTR配列)。
pdwNumOptionsDWORD*out返されたオプションの個数を受け取る出力先。
vtbl 9 HRESULT GetFontSubstitution(LPWSTR pszTrueTypeFontName, LPWSTR* ppszDevFontName)
pszTrueTypeFontNameLPWSTRin代替先を調べるTrueTypeフォント名を指定する入力文字列。
ppszDevFontNameLPWSTR*in対応するデバイスフォント名を受け取る出力先。CoTaskMemFreeで解放する。
vtbl 10 HRESULT SetFontSubstitution(LPWSTR pszTrueTypeFontName, LPWSTR pszDevFontName)
pszTrueTypeFontNameLPWSTRin置換元となるTrueTypeフォント名を指定する入力文字列。
pszDevFontNameLPWSTRin置換先となるデバイスフォント名を指定する入力文字列。
vtbl 11 HRESULT CreateInstanceOfMSXMLObject(GUID* rclsid, IUnknown* pUnkOuter, DWORD dwClsContext, GUID* riid, void** ppv)
rclsidGUID*in生成するMSXMLオブジェクトのクラスIDを指すGUIDポインタ。
pUnkOuterIUnknown*inアグリゲーション用の外側IUnknown。通常はNULL。
dwClsContextDWORDinオブジェクトの実行コンテキストを指定するCLSCTXフラグ。
riidGUID*in要求するインタフェースのIIDを指すGUIDポインタ。
ppvvoid**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 指定が可能。