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

IBidiSpl2

COM
IID0e8f51b8-8273-4906-8e7b-be453ffd2e2b継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT BindDevice(LPWSTR pszDeviceName, DWORD dwAccess)
pszDeviceNameLPWSTRinバインドするプリンターデバイス名。
dwAccessDWORDinデバイスへのアクセス権フラグ。
vtbl 4 HRESULT UnbindDevice()
vtbl 5 HRESULT SendRecvXMLString(LPWSTR bstrRequest, LPWSTR* pbstrResponse)
bstrRequestLPWSTRin送信するXMLリクエスト文字列(BSTR)。
pbstrResponseLPWSTR*out受信したXMLレスポンス文字列(BSTR)を受け取る出力先。
vtbl 6 HRESULT SendRecvXMLStream(IStream* pSRequest, IStream** ppSResponse)
pSRequestIStream*inoptional送信するXMLリクエストを保持する入力ストリーム。
ppSResponseIStream**out受信したXMLレスポンスを保持する出力ストリームを受け取る出力先。

HSP用 COM定義

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

出力引数:
#define global IID_IBidiSpl2 "{0E8F51B8-8273-4906-8E7B-BE453FFD2E2B}"
#usecom global IBidiSpl2 IID_IBidiSpl2 "{2A614240-A4C5-4C33-BD87-1BC709331639}"
#comfunc global IBidiSpl2_BindDevice         3 wstr,int
#comfunc global IBidiSpl2_UnbindDevice       4
#comfunc global IBidiSpl2_SendRecvXMLString  5 wstr,var
#comfunc global IBidiSpl2_SendRecvXMLStream  6 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。