IRDPSRAPITransportStream
COM公式ドキュメント
ストリームに対する操作を行うメソッドを公開します。
メソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ストリームバッファーを割り当てるために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
| maxPayload | INT | in | バッファーに格納されるペイロードの最大サイズ (バイト単位)。 |
| ppBuffer | IRDPSRAPITransportStreamBuffer** | out | バッファーオブジェクトを受け取る IRDPSRAPITransportStreamBuffer インターフェイスポインターのアドレス。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
ストリームバッファーをストリームに返すために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
| pBuffer | IRDPSRAPITransportStreamBuffer* | in | 解放するバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
ストリームバッファーの内容をネットワークに書き込むために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
| pBuffer | IRDPSRAPITransportStreamBuffer* | in | 書き込むバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
ストリームバッファーの内容を読み取るために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
| pBuffer | IRDPSRAPITransportStreamBuffer* | in | 読み取るバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
ストリームを開始し、RDP スタックがイベント通知を受け取る準備ができたことを示すために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
| pCallbacks | IRDPSRAPITransportStreamEvents* | in | トランスポートストリームのイベントを受け取る IRDPSRAPITransportStreamEvents インターフェイスポインター。 |
戻り値
型: HRESULT
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
ストリームを閉じるために、Remote Desktop Protocol (RDP) スタックから呼び出されます。
戻り値
メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IRDPSRAPITransportStream "{36CFA065-43BB-4EF7-AED7-9B88A5053036}"
#usecom global IRDPSRAPITransportStream IID_IRDPSRAPITransportStream "{}"
#comfunc global IRDPSRAPITransportStream_AllocBuffer 3 int,sptr
#comfunc global IRDPSRAPITransportStream_FreeBuffer 4 sptr
#comfunc global IRDPSRAPITransportStream_WriteBuffer 5 sptr
#comfunc global IRDPSRAPITransportStream_ReadBuffer 6 sptr
#comfunc global IRDPSRAPITransportStream_Open 7 sptr
#comfunc global IRDPSRAPITransportStream_Close 8
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。