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

IPrintCoreUI2

COM
IID085ccfca-3adf-4c9e-b491-d851a6edc997継承元IPrintOemDriverUI自前メソッド開始 vtbl6

メソッド 10

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

vtbl 6 HRESULT GetOptions(OEMUIOBJ* poemuiobj, DWORD dwFlags, CHAR* pmszFeaturesRequested, DWORD cbIn, LPSTR pmszFeatureOptionBuf, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional取得動作を制御するフラグ。
pmszFeaturesRequestedCHAR*inoptional取得対象機能を列挙したNULL区切り複数文字列(CHAR*)。NULLで全機能対象。
cbInDWORDinpmszFeaturesRequestedのサイズ(バイト単位)。
pmszFeatureOptionBufLPSTRoutoptional機能とオプションのペアをNULL区切りで受け取る出力バッファ。
cbSizeDWORDinpmszFeatureOptionBufバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 7 HRESULT SetOptions(OEMUIOBJ* poemuiobj, DWORD dwFlags, CHAR* pmszFeatureOptionBuf, DWORD cbIn, DWORD* pdwResult)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDin設定動作を制御するフラグ。
pmszFeatureOptionBufCHAR*in設定する機能とオプションのペアをNULL区切りで列挙した入力バッファ(CHAR*)。
cbInDWORDinpmszFeatureOptionBufのサイズ(バイト単位)。
pdwResultDWORD*out設定処理の結果コードを受け取る出力先。
vtbl 8 HRESULT EnumConstrainedOptions(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszFeatureKeyword, LPSTR pmszConstrainedOptionList, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional列挙動作を制御するフラグ。
pszFeatureKeywordLPSTRin制約付きオプションを列挙する対象機能のキーワードを指定する入力文字列。
pmszConstrainedOptionListLPSTRoutoptional制約により選択不能なオプションをNULL区切りで受け取る出力バッファ。
cbSizeDWORDinpmszConstrainedOptionListバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 9 HRESULT WhyConstrained(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszFeatureKeyword, LPSTR pszOptionKeyword, LPSTR pmszReasonList, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional評価動作を制御するフラグ。
pszFeatureKeywordLPSTRin評価対象機能のキーワードを指定する入力文字列。
pszOptionKeywordLPSTRin制約理由を調べるオプションのキーワードを指定する入力文字列。
pmszReasonListLPSTRoutoptional制約の原因となる機能・オプションをNULL区切りで受け取る出力バッファ。
cbSizeDWORDinpmszReasonListバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 10 HRESULT GetGlobalAttribute(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszAttribute, DWORD* pdwDataType, BYTE* pbData, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional取得動作を制御するフラグ。
pszAttributeLPSTRinoptional取得対象のグローバル属性名を指定する入力文字列。
pdwDataTypeDWORD*out返される属性値のデータ型を受け取る出力先。
pbDataBYTE*outoptional属性値のバイトデータを受け取る出力バッファへのポインタ(BYTE*)。
cbSizeDWORDinpbDataバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 11 HRESULT GetFeatureAttribute(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszFeatureKeyword, LPSTR pszAttribute, DWORD* pdwDataType, BYTE* pbData, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional取得動作を制御するフラグ。
pszFeatureKeywordLPSTRin属性を取得する対象機能のキーワードを指定する入力文字列。
pszAttributeLPSTRinoptional取得対象の機能属性名を指定する入力文字列。
pdwDataTypeDWORD*out返される属性値のデータ型を受け取る出力先。
pbDataBYTE*outoptional属性値のバイトデータを受け取る出力バッファへのポインタ(BYTE*)。
cbSizeDWORDinpbDataバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 12 HRESULT GetOptionAttribute(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszFeatureKeyword, LPSTR pszOptionKeyword, LPSTR pszAttribute, DWORD* pdwDataType, BYTE* pbData, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional取得動作を制御するフラグ。
pszFeatureKeywordLPSTRin対象オプションが属する機能のキーワードを指定する入力文字列。
pszOptionKeywordLPSTRin属性を取得する対象オプションのキーワードを指定する入力文字列。
pszAttributeLPSTRinoptional取得対象のオプション属性名を指定する入力文字列。
pdwDataTypeDWORD*out返される属性値のデータ型を受け取る出力先。
pbDataBYTE*outoptional属性値のバイトデータを受け取る出力バッファへのポインタ(BYTE*)。
cbSizeDWORDinpbDataバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 13 HRESULT EnumFeatures(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pmszFeatureList, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional列挙動作を制御するフラグ。
pmszFeatureListLPSTRoutoptional利用可能な機能キーワードをNULL区切りで受け取る出力バッファ。
cbSizeDWORDinpmszFeatureListバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 14 HRESULT EnumOptions(OEMUIOBJ* poemuiobj, DWORD dwFlags, LPSTR pszFeatureKeyword, LPSTR pmszOptionList, DWORD cbSize, DWORD* pcbNeeded)
poemuiobjOEMUIOBJ*inOEM UIプラグインのコンテキストを保持するOEMUIOBJ構造体へのポインタ。
dwFlagsDWORDoptional列挙動作を制御するフラグ。
pszFeatureKeywordLPSTRinオプションを列挙する対象機能のキーワードを指定する入力文字列。
pmszOptionListLPSTRoutoptional当該機能のオプションキーワードをNULL区切りで受け取る出力バッファ。
cbSizeDWORDinpmszOptionListバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。
vtbl 15 HRESULT QuerySimulationSupport(HANDLE hPrinter, DWORD dwLevel, BYTE* pCaps, DWORD cbSize, DWORD* pcbNeeded)
hPrinterHANDLEin対象プリンタのハンドル。
dwLevelDWORDinpCapsが指すデータのレベル(種別)を指定する値。
pCapsBYTE*outoptionalシミュレーション対応能力情報を受け取るバッファへのポインタ(BYTE*)。
cbSizeDWORDinpCapsバッファのサイズ(バイト単位)。
pcbNeededDWORD*out必要なバッファサイズまたは書き込まれたバイト数を受け取る出力先。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IPrintCoreUI2 "{085CCFCA-3ADF-4C9E-B491-D851A6EDC997}"
#usecom global IPrintCoreUI2 IID_IPrintCoreUI2 "{}"
#comfunc global IPrintCoreUI2_GetOptions              6 var,int,var,int,var,int,var
#comfunc global IPrintCoreUI2_SetOptions              7 var,int,var,int,var
#comfunc global IPrintCoreUI2_EnumConstrainedOptions  8 var,int,str,var,int,var
#comfunc global IPrintCoreUI2_WhyConstrained          9 var,int,str,str,var,int,var
#comfunc global IPrintCoreUI2_GetGlobalAttribute      10 var,int,str,var,var,int,var
#comfunc global IPrintCoreUI2_GetFeatureAttribute     11 var,int,str,str,var,var,int,var
#comfunc global IPrintCoreUI2_GetOptionAttribute      12 var,int,str,str,str,var,var,int,var
#comfunc global IPrintCoreUI2_EnumFeatures            13 var,int,var,int,var
#comfunc global IPrintCoreUI2_EnumOptions             14 var,int,str,var,int,var
#comfunc global IPrintCoreUI2_QuerySimulationSupport  15 sptr,int,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。