Win32 API 日本語リファレンス
ホームSystem.DesktopSharing › IRDPSRAPITransportStream

IRDPSRAPITransportStream

COM
IID36cfa065-43bb-4ef7-aed7-9b88a5053036継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ストリームに対する操作を行うメソッドを公開します。

メソッド 6

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

vtbl 3 HRESULT AllocBuffer(INT maxPayload, IRDPSRAPITransportStreamBuffer** ppBuffer)

ストリームバッファーを割り当てるために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

maxPayloadINTinバッファーに格納されるペイロードの最大サイズ (バイト単位)。
ppBufferIRDPSRAPITransportStreamBuffer**outバッファーオブジェクトを受け取る IRDPSRAPITransportStreamBuffer インターフェイスポインターのアドレス。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 4 HRESULT FreeBuffer(IRDPSRAPITransportStreamBuffer* pBuffer)

ストリームバッファーをストリームに返すために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

pBufferIRDPSRAPITransportStreamBuffer*in解放するバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 5 HRESULT WriteBuffer(IRDPSRAPITransportStreamBuffer* pBuffer)

ストリームバッファーの内容をネットワークに書き込むために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

pBufferIRDPSRAPITransportStreamBuffer*in書き込むバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 6 HRESULT ReadBuffer(IRDPSRAPITransportStreamBuffer* pBuffer)

ストリームバッファーの内容を読み取るために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

pBufferIRDPSRAPITransportStreamBuffer*in読み取るバッファーを表す IRDPSRAPITransportStreamBuffer インターフェイスポインター。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 7 HRESULT Open(IRDPSRAPITransportStreamEvents* pCallbacks)

ストリームを開始し、RDP スタックがイベント通知を受け取る準備ができたことを示すために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

pCallbacksIRDPSRAPITransportStreamEvents*inトランスポートストリームのイベントを受け取る IRDPSRAPITransportStreamEvents インターフェイスポインター。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

vtbl 8 HRESULT Close()

ストリームを閉じるために、Remote Desktop Protocol (RDP) スタックから呼び出されます。

戻り値

メソッドが成功した場合、戻り値は S_OK です。それ以外の場合、戻り値はエラーコードです。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 指定が可能。