次の方法で共有


BuildCommDCBW 関数 (winbase.h)

指定した DCB 構造体に、デバイス制御文字列で指定された値を入力します。 デバイス制御文字列は、モードの コマンドの構文を使用します。

構文

BOOL BuildCommDCBW(
  [in]  LPCWSTR lpDef,
  [out] LPDCB   lpDCB
);

パラメーター

[in] lpDef

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

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

COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}]][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

デバイス名は省略可能ですが、使用する場合は有効なデバイスを指定する必要があります。

たとえば、次の文字列は、ボー レート 1200、パリティなし、8 データ ビット、1 ストップ ビットを指定します。

baud=1200 parity=N data=8 stop=1

[out] lpDCB

情報を受け取る DCB 構造体へのポインター。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

BuildCommDCB 関数は、lpDef パラメーターによって特に影響を受ける、DCB 構造体のメンバーのみを調整します。ただし、次の例外があります。

  • 指定されたボーレートが110の場合、この関数は停止ビットを2に設定し、システムの モード コマンドとの互換性を維持します。
  • 既定では、BuildCommDCB は XON/XOFF およびハードウェア フロー制御を無効にします。 フロー制御を有効にするには、DCB 構造体の適切なメンバーを明示的に設定する必要があります。
BuildCommDCB 関数は、DCB 構造体のメンバーのみを格納します。 これらの設定をシリアル ポートに適用するには、SetCommState 関数を使用します。

モードには、古い形式と新しい形式 構文があります。 BuildCommDCB 関数は、両方の形式をサポートします。 ただし、2 つのフォームを組み合わせることはできません。

モード 構文の新しい形式では、DCB 構造体のフロー制御メンバーの値を明示的に設定できます。 モード 構文の古い形式を使用する場合、BuildCommDCB 関数は、DCB 構造体のフロー制御メンバーを次のように設定します。

  • x または p で終わらない文字列の場合:
    • fInXfOutXfOutXDsrFlowfOutXCtsFlow はすべて FALSE に設定されます
    • fDtrControl が DTR_CONTROL_ENABLE に設定されている
    • fRtsControl が RTS_CONTROL_ENABLE に設定されている
  • x で終わる文字列の場合:
    • fInXfOutX の両方が TRUE 設定されます
    • fOutXDsrFlowfOutXCtsFlow はどちらも FALSE に設定
    • fDtrControl が DTR_CONTROL_ENABLE に設定されている
    • fRtsControl が RTS_CONTROL_ENABLE に設定されている
  • p で終わる文字列の場合:
    • fInXfOutX はどちらも FALSE に設定
    • fOutXDsrFlowfOutXCtsFlow は両方とも TRUE に設定されます
    • fDtrControl が DTR_CONTROL_HANDSHAKE に設定されている
    • fRtsControl が RTS_CONTROL_HANDSHAKE に設定されている

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows XP
サポートされる最小サーバー Windows Server 2003
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winbase.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

Communications Functions

通信リソース

DCB の

SetCommState の