Share via


DCB 構造体 (winbase.h)

シリアル通信デバイスの制御設定を定義します。

構文

typedef struct _DCB {
  DWORD DCBlength;
  DWORD BaudRate;
  DWORD fBinary : 1;
  DWORD fParity : 1;
  DWORD fOutxCtsFlow : 1;
  DWORD fOutxDsrFlow : 1;
  DWORD fDtrControl : 2;
  DWORD fDsrSensitivity : 1;
  DWORD fTXContinueOnXoff : 1;
  DWORD fOutX : 1;
  DWORD fInX : 1;
  DWORD fErrorChar : 1;
  DWORD fNull : 1;
  DWORD fRtsControl : 2;
  DWORD fAbortOnError : 1;
  DWORD fDummy2 : 17;
  WORD  wReserved;
  WORD  XonLim;
  WORD  XoffLim;
  BYTE  ByteSize;
  BYTE  Parity;
  BYTE  StopBits;
  char  XonChar;
  char  XoffChar;
  char  ErrorChar;
  char  EofChar;
  char  EvtChar;
  WORD  wReserved1;
} DCB, *LPDCB;

メンバー

DCBlength

構造体の長さ (バイト単位)。 呼び出し元は、このメンバーを に設定する sizeof(DCB)必要があります。

BaudRate

通信デバイスが動作するボー レート。 このメンバーには、実際のボー レート値、または次のいずれかのインデックスを指定できます。

意味
CBR_110
110
110 bps
CBR_300
300
300 bps
CBR_600
600
600 bps
CBR_1200
1200
1200 bps
CBR_2400
2400
2400 bps
CBR_4800
4800
4800 bps
CBR_9600
9600
9600 bps
CBR_14400
14400
14400 bps
CBR_19200
19200
19200 bps
CBR_38400
38400
38400 bps
CBR_57600
57600
57600 bps
CBR_115200
115200
115200 bps
CBR_128000
128000
128000 bps
CBR_256000
256000
256000 bps

fBinary

このメンバーが TRUE の場合、バイナリ モードが有効になります。 Windows では非バイナリ モード転送がサポートされていないため、このメンバーは TRUE である必要があります。

fParity

このメンバーが TRUE の場合は、パリティ チェックが実行され、エラーが報告されます。

fOutxCtsFlow

このメンバーが TRUE の場合、CTS (clear-to-send) 信号は出力フロー制御用に監視されます。 このメンバーが TRUE で CTS がオフの場合、CTS が再度送信されるまで出力は中断されます。

fOutxDsrFlow

このメンバーが TRUE の場合、DSR (データ セット対応) 信号が出力フロー制御用に監視されます。 このメンバーが TRUE で 、DSR がオフの場合、DSR が再度送信されるまで出力は中断されます。

fDtrControl

DTR (データターミナル対応) フロー制御。 このメンバーには、次のいずれかの値を指定できます。

意味
DTR_CONTROL_DISABLE
0x00
デバイスが開かれたときに DTR 行を無効にし、無効のままにします。
DTR_CONTROL_ENABLE
0x01
デバイスを開いてそのままにしたときに DTR 回線を有効にします。
DTR_CONTROL_HANDSHAKE
0x02
DTR ハンドシェークを有効にします。 ハンドシェークが有効になっている場合、 EscapeCommFunction 関数を使用して行を調整するのはアプリケーションのエラーです。

fDsrSensitivity

このメンバーが TRUE の場合、通信ドライバーは DSR 信号の状態に敏感です。 DSR モデム入力回線が高い場合を除き、ドライバーは受信したバイトを無視します。

fTXContinueOnXoff

このメンバーが TRUE の場合、入力バッファーがいっぱいの XoffLim バイト内に入り、ドライバーが XoffChar 文字を送信してバイトの受信を停止した後も、転送が続行されます。 このメンバーが FALSE の場合、入力バッファーが空の XonLim バイト内にあり、ドライバーが XonChar 文字を送信して受信を再開するまで、転送は続行されません。

fOutX

送信中に XON/XOFF フロー制御を使用するかどうかを示します。 このメンバーが TRUE の場合、 XoffChar 文字を受信すると転送が停止し、 XonChar 文字を受信したときにもう一度開始されます。

fInX

受信中に XON/XOFF フロー制御を使用するかどうかを示します。 このメンバーが TRUE の場合、入力バッファーがいっぱいの XoffLim バイト内にある場合は XoffChar 文字が送信され、入力バッファーが空の XonLim バイト内に入ると XonChar 文字が送信されます。

fErrorChar

パリティ エラーで受信したバイトが ErrorChar メンバーで指定された文字に置き換えられるかどうかを示します。 このメンバーが TRUE で、 fParity メンバーが TRUE の場合、置換が行われます。

fNull

このメンバーが TRUE の場合、null バイトは受信時に破棄されます。

fRtsControl

RTS (要求から送信) フロー制御。 このメンバーには、次のいずれかの値を指定できます。

意味
RTS_CONTROL_DISABLE
0x00
デバイスが開かれたときに RTS 行を無効にし、無効のままにします。
RTS_CONTROL_ENABLE
0x01
デバイスを開いてそのままにしたときに RTS 回線を有効にします。
RTS_CONTROL_HANDSHAKE
0x02
RTS ハンドシェークを有効にします。 "type-ahead" (input) バッファーが 1/2 未満の場合、ドライバーは RTS 行を上げ、バッファーが 4 分の 3 を超えると RTS 行を下げます。 ハンドシェークが有効になっている場合、 EscapeCommFunction 関数を使用して行を調整するのはアプリケーションのエラーです。
RTS_CONTROL_TOGGLE
0x03
送信にバイトが使用可能な場合、RTS 行が高くなるかどうかを指定します。 バッファー内のすべてのバイトが送信されると、RTS 行は低くなります。

fAbortOnError

このメンバーが TRUE の場合、ドライバーは、エラーが発生した場合にエラー状態ですべての読み取りおよび書き込み操作を終了します。 アプリケーションが ClearCommError 関数を呼び出してエラーを確認するまで、ドライバーはそれ以上の通信操作を受け入れられません。

fDummy2

予約済みです。使わないでください。

wReserved

予約;は 0 である必要があります。

XonLim

送信側による送信を許可するためにフロー制御がアクティブ化される前に、入力バッファーで使用できる最小バイト数。 これは、xON/XOFF、RTS、または DTR 入力フロー制御が fInXfRtsControl、または fDtrControl メンバーで指定されていることを前提としています。

XoffLim

送信側を禁止するためにフロー制御がアクティブ化される前に、入力バッファーで許可される空きバイトの最小数。 送信側はフロー制御信号がアクティブ化された後に文字を送信する可能性があるので、この値をゼロにしないでください。 これは、xON/XOFF、RTS、または DTR 入力フロー制御が fInXfRtsControl、または fDtrControl メンバーで指定されていることを前提としています。 使用できる最大バイト数は、入力バッファーのサイズ (バイト単位) からこの値を減算することによって計算されます。

ByteSize

送受信されたバイト内のビット数。

Parity

使用するパリティ スキーム。 このメンバーには、次のいずれかの値を指定できます。

意味
EVENPARITY
2
偶数パリティ。
MARKPARITY
3
パリティをマークします。
NOPARITY
0
パリティなし。
ODDPARITY
1
奇数パリティ。
SPACEPARITY
4
スペース パリティ。

StopBits

使用するストップ ビットの数。 このメンバーには、次のいずれかの値を指定できます。

意味
ONESTOPBIT
0
1 ストップ ビット。
ONE5STOPBITS
1
1.5 ストップ ビット。
TWOSTOPBITS
2
2 ストップ ビット。

XonChar

送受信の両方の XON 文字の値。

XoffChar

送受信の両方の XOFF 文字の値。

ErrorChar

受信したバイトをパリティ エラーに置き換えるために使用される文字の値。

EofChar

データの終わりを通知するために使用される文字の値。

EvtChar

イベントの通知に使用される文字の値。

wReserved1

予約済みです。使わないでください。

注釈

DCB 構造体を使用して 8250 を構成する場合、ByteSize メンバーと StopBits メンバーに指定された値に次の制限が適用されます。

  • データ ビットの数は 5 ~ 8 ビットである必要があります。
  • 2 つのストップ ビットを持つ 5 つのデータ ビットの使用は、1.5 ストップ ビットを持つ 6、7、または 8 のデータ ビットと同様に、無効な組み合わせです。

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
Header winbase.h (Windows.h を含む)

こちらもご覧ください

BuildCommDCB

ClearCommError

EscapeCommFunction

GetCommState

SetCommState