<Return[S]><Top>

SetupComm

Declare Function Api_SetupComm& Lib "kernel32" Alias "SetupComm" (ByVal hFile&, ByVal dwInQueue&, ByVal dwOutQueue&)

Declare Function SetupComm Lib "kernel32" Alias "SetupComm" (ByVal hFile As Long, ByVal dwInQueue As Long, ByVal dwOutQueue As Long) As Long

指定した通信デバイスの通信パラメータを初期化する。

パラメータ
hFile
    通信デバイスのハンドルを指定する。CreateFile 関数が返すハンドルを使う。
dwInQueue
    デバイスの内部入力バッファの推奨サイズ(バイト数)を指定する。
dwOutQueue
    デバイスの内部出力バッファの推奨サイズ(バイト数)を指定する。

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

解説
    プロセスは CreateFile 関数を使って通信デバイスのハンドルを開いた後、SetupComm 関数でそのデバイスの通信パラメータを設定でき

    る。通信パラメータを設定しない場合は、別の通信関数を呼び出すときにデバイスの既定のパラメータが使われる。
    dwInQueue パラメータと dwOutQueue パラメータでは、デバイスのドライバが使う内部バッファの推奨サイズを指定する。たとえば、

    YMODEM プロトコルのパケットは 1024 バイトより少し大きいため、YMODEM 通信時の推奨バッファサイズは 1200 バイトにする。また、イ

    ーサネット通信の場合は、1つのイーサネットフレームより少し大きい 1600 バイトにする。
    デバイスドライバは推奨バッファサイズを受け取る。ただし、極端な場合を除き、適当なパフォーマンスが得られ、バッファがいっぱいでデータ

    が失われることがなければ、デバイスドライバが採用する入出力(I/O)バッファリング方式は自由である。たとえば、ドライバがバッファを割り当

    てなくても、システムの他の部分が同等の機能を提供していれば関数は成功する。