WTSVirtualChannelRead

仮想チャネルのサーバー側からデータを読み取る。

WTSVirtualChannelRead hChannelHandle, TimeOut, Buffer, BufferSize, pBytesRead

hChannelHandle : [intptr] WTSVirtualChannelOpen で開かれた仮想チャネルへのハンドル。
TimeOut : [int] タイムアウト (ミリ秒)。0 なら読み取りデータがなければ直ちに戻る。INFINITE なら読み取りデータができるまで無期限に待つ。
Buffer : [str] 仮想チャネルのサーバー側から読み取ったデータチャンクを受け取るバッファへのポインタ。サーバーが 1 回の呼び出しで受け取れる最大量は CHANNEL_CHUNK_LENGTH バイトである。クライアントがより大きなブロックを書き込んだ場合、複数回の読み取りが必要となる。CHANNEL_OPTION_SHOW_PROTOCOL 指定時やダイナミック仮想チャネルの場合、各チャンク先頭に CHANNEL_PDU_HEADER 構造体が置かれる。
BufferSize : [int] Buffer のサイズ (バイト単位)。CHANNEL_PDU_HEADER が先行する場合は CHANNEL_PDU_LENGTH 以上、そうでなければ CHANNEL_CHUNK_LENGTH 以上にする。
pBytesRead : [var] 読み取ったバイト数を受け取る変数へのポインタ。

(プラグイン / モジュール : wtsapi32.dll)

解説

仮想チャネルのサーバー側からデータを読み取る。

[戻り値]
関数が成功すると戻り値は 0 以外となる。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには GetLastError
を呼び出す。

[備考]
注: WTSVirtualChannelRead はスレッドセーフではない。複数スレッドから仮想チャネルにアクセスする場合や非同期 I/O
を行う場合は、WTSVirtualChannelQuery と WTSVirtualFileHandle を使う。

情報

プラグイン / モジュールwtsapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の wtsapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_wtsapi32_gen2.hs