デバイス定義文字列を適切なデバイス制御ブロックコードに変換し、デバイス制御ブロックに配置する。(Unicode)
BuildCommDCBAndTimeoutsW lpDef, lpDCB, lpCommTimeouts
lpDef : [wstr] デバイス制御情報。関数はこの文字列を取得して解析し、lpDCB が指す DCB 構造体に適切な値を設定する。文字列は mode コマンドのコマンドライン引数と同じ形式でなければならない: COMx[:][baud={11|110|15|150|30|300|60|600|12|1200|24|2400|48|4800|96|9600|19|19200}][parity={n|e|o|m|s}][data={5|6|7|8}][stop={1|1.5|2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]。"baud" サブ文字列にはリストされたペアの値のいずれかを指定できる。2 桁の値は、それが表す値の先頭 2 桁である。例えば 11 は 110 ボー、19 は 19,200 ボーを表す。"parity" サブ文字列は、パリティビットを伝送エラー検出にどう使うかを示す。値はそれぞれ "none"、"even"、"odd"、"mark"、"space" を表す。詳細は TechNet の mode コマンドリファレンスを参照。例えば、次の文字列はボーレート 1200、パリティなし、データビット 8、ストップビット 1 を指定する: baud=1200 parity=N data=8 stop=1
lpDCB : [var] lpDef が指すデバイス制御情報文字列から情報を受け取る DCB 構造体へのポインタ。この DCB 構造体は通信デバイスの制御設定を定義する。
lpCommTimeouts : [var] タイムアウト情報を受け取る COMMTIMEOUTS 構造体へのポインタ。
(プラグイン / モジュール : kernel32.dll)
デバイス定義文字列を適切なデバイス制御ブロックコードに変換し、デバイス制御ブロックに配置する。(Unicode)
[戻り値]
関数が成功した場合、戻り値はゼロ以外。関数が失敗した場合、戻り値はゼロ。拡張エラー情報を取得するには GetLastError を呼ぶ。
[備考]
BuildCommDCBAndTimeouts 関数は lpDef 内の "to={on|off}"
サブ文字列の有無に応じてタイムアウト設定の動作を変える:
(以下省略)
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |