BuildCommDCBA 함수(winbase.h)

지정된 DCB 구조체를 디바이스 제어 문자열에 지정된 값으로 채웁니다. device-control 문자열은 모드 명령의 구문을 사용합니다.

구문

BOOL BuildCommDCBA(
  [in]  LPCSTR 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 함수는 두 가지 형식을 모두 지원합니다. 그러나 두 양식을 함께 혼합할 수는 없습니다.

최신 형식의 모드 구문을 사용하면 DCB 구조체의 흐름 제어 멤버 값을 명시적으로 설정할 수 있습니다. 이전 형식의 모드 구문을 사용하는 경우 BuildCommDCB 함수는 다음과 같이 DCB 구조체의 흐름 제어 멤버를 설정합니다.

  • x 또는 p로 끝나지 않는 문자열의 경우:
    • fInX, fOutX, fOutXDsrFlowfOutXCtsFlow는 모두 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 헤더는 BUILDCommDCB를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

Communications 함수

통신 리소스

DCB

SetCommState