ホーム › Graphics.Printing › IPrintCoreHelperPS
IPrintCoreHelperPS
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 12 HRESULT GetGlobalAttribute(LPSTR pszAttribute, DWORD* pdwDataType, BYTE** ppbData, DWORD* pcbSize)
| pszAttribute | LPSTR | in | 取得対象のグローバル属性名を指定する入力文字列。 |
| pdwDataType | DWORD* | out | 返される属性値のデータ型を受け取る出力先。 |
| ppbData | BYTE** | out | 属性値のバイトデータを受け取る出力先(BYTE配列)。 |
| pcbSize | DWORD* | out | 返されたデータのサイズ(バイト単位)を受け取る出力先。 |
vtbl 13 HRESULT GetFeatureAttribute(LPSTR pszFeatureKeyword, LPSTR pszAttribute, DWORD* pdwDataType, BYTE** ppbData, DWORD* pcbSize)
| pszFeatureKeyword | LPSTR | in | 属性を取得する対象機能のキーワードを指定する入力文字列。 |
| pszAttribute | LPSTR | in | 取得対象の機能属性名を指定する入力文字列。 |
| pdwDataType | DWORD* | out | 返される属性値のデータ型を受け取る出力先。 |
| ppbData | BYTE** | out | 属性値のバイトデータを受け取る出力先(BYTE配列)。 |
| pcbSize | DWORD* | out | 返されたデータのサイズ(バイト単位)を受け取る出力先。 |
vtbl 14 HRESULT GetOptionAttribute(LPSTR pszFeatureKeyword, LPSTR pszOptionKeyword, LPSTR pszAttribute, DWORD* pdwDataType, BYTE** ppbData, DWORD* pcbSize)
| pszFeatureKeyword | LPSTR | in | 対象オプションが属する機能のキーワードを指定する入力文字列。 |
| pszOptionKeyword | LPSTR | in | 属性を取得する対象オプションのキーワードを指定する入力文字列。 |
| pszAttribute | LPSTR | inoptional | 取得対象のオプション属性名を指定する入力文字列。 |
| pdwDataType | DWORD* | out | 返される属性値のデータ型を受け取る出力先。 |
| ppbData | BYTE** | out | 属性値のバイトデータを受け取る出力先(BYTE配列)。 |
| pcbSize | DWORD* | out | 返されたデータのサイズ(バイト単位)を受け取る出力先。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IPrintCoreHelperPS "{C2C14F6F-95D3-4D63-96CF-6BD9E6C907C2}" #usecom global IPrintCoreHelperPS IID_IPrintCoreHelperPS "{}" #comfunc global IPrintCoreHelperPS_GetGlobalAttribute 12 str,var,var,var #comfunc global IPrintCoreHelperPS_GetFeatureAttribute 13 str,str,var,var,var #comfunc global IPrintCoreHelperPS_GetOptionAttribute 14 str,str,str,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IPrintCoreHelperPS "{C2C14F6F-95D3-4D63-96CF-6BD9E6C907C2}" #usecom global IPrintCoreHelperPS IID_IPrintCoreHelperPS "{}" #comfunc global IPrintCoreHelperPS_GetGlobalAttribute 12 str,sptr,sptr,sptr #comfunc global IPrintCoreHelperPS_GetFeatureAttribute 13 str,str,sptr,sptr,sptr #comfunc global IPrintCoreHelperPS_GetOptionAttribute 14 str,str,str,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。