BuildCommDCBAndTimeoutsW 関数 (winbase.h)

デバイス定義文字列を適切なデバイス制御ブロック コードに変換し、デバイス制御ブロックに配置します。 この関数は、デバイスのタイムアウトの可能性を含め、タイムアウト値を設定することもできます。この点に関する関数の動作は、デバイス定義文字列の内容によって異なります。

構文

BOOL BuildCommDCBAndTimeoutsW(
  [in]  LPCWSTR        lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

パラメーター

[in] lpDef

デバイス制御情報。 この関数は、この文字列を受け取って解析し、lpDCB が指す DCB 構造体に適切な値を設定します。

文字列は、 mode コマンドのコマンド ライン引数と同じ形式である必要があります。

COMx[:][baud={11|110|15|30|30||60 60 60||12 1200||24 2400||484800||96 969600||19 19200|}][パリティ={n |e e|O|M|s}][data={5|6|7|8}][stop={11.5||2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on off}][dtr={on| off |hs}][rts={on|off|hs|tg}][idsr={on|off}]

"ボー" 部分文字列には、一覧表示されている値のうち、ペアの値を指定できます。 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

[out] lpDCB

lpDef が指すデバイス制御情報文字列から情報を受け取る DCB 構造体へのポインター。 この DCB 構造体は、通信デバイスの制御設定を定義します。

[out] lpCommTimeouts

タイムアウト情報を受け取る COMMTIMEOUTS 構造体へのポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

BuildCommDCBAndTimeouts 関数は、lpDef の "to={on|off}" 部分文字列の有無に基づいて、タイムアウト設定の動作を変更します。

  • その文字列に部分文字列 "to=on" が含まれている場合、関数は COMMTIMEOUTS 構造体の WriteTotalTimeoutConstant メンバーを 60000 に、他のすべてのメンバーを 0 に設定します。
  • その文字列にサブ文字列 "to=off" が含まれている場合、関数は COMMTIMEOUTS のメンバーを 0 に設定します。
  • その文字列で "to={on|off}" 部分文字列が指定されていない場合、この関数は lpCommTimeoutsCOMMTIMEOUTS 構造体を無視します。
詳細については、「 BuildCommDCB 関数の備考」を参照してください。

注意

winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして BuildCommDCBAndTimeouts を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

BuildCommDCB

COMMTIMEOUTS

通信関数

通信リソース

DCB

GetCommTimeouts

SetCommTimeouts