<Return[S]><Top>

SetCommState

Declare Function Api_SetCommState& Lib "kernel32" Alias "SetCommState" (ByVal hCommDev&, lpDCB As DCB)

Declare Function SetCommState Lib "kernel32" Alias "SetCommState" (ByVal hCommDev As Long, lpDCB As DCB) As Long

デバイス制御ブロック(DCB 構造体)の指定に従って通信デバイスを構成する。ハードウェアと制御の設定をすべて初期化するが、出力待ち行列と入力待ち行列は空にしない。

パラメータ
hFile
    通信デバイスのハンドルを渡す。CreateFile 関数が返すハンドルを使う。
lpDCB
    hFile で指定する通信デバイスの構成情報が入った DCB 構造体へのポインタを指定する。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    SetCommState 関数は、DCB 構造体を使ってデバイスの構成を行う。GetCommState 関数は、現在の構成を返す。
    DCB 構造体のメンバの一部だけを設定する場合でも、他のメンバも適切な値にするため、GetCommState 関数を使っていったん DCB 構

    造体を設定してから、該当するメンバの値を修正するようにする。
    SetCommState 関数は、DCB 構造体の XonChar メンバが XoffChar メンバと等しいと、失敗する。
    SetCommState 関数を使って 8250 を構成する場合は、DCB 構造体の ByteSize メンバと StopBits メンバの値に次の制約がある。
    データビット数は 5〜8 ビットでなければならない。