다음을 통해 공유


BuildCommDCBA 함수(winbase.h)

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

통사론

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 함수

Communications 리소스

DCB

SetCommState