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 구조체의 적절한 멤버를 명시적으로 설정해야 합니다.
구문을
모드 구문의 최신 형식을 사용하면 DCB 구조체의 흐름 제어 멤버 값을 명시적으로 설정할 수 있습니다. 모드 구문의 이전 형식을 사용하는 경우 BuildCommDCB 함수는 다음과 같이 DCB 구조체의 흐름 제어 멤버를 설정합니다.
- x 또는 p로 끝나지 않는 문자열의 경우:
- fInX, fOutX, fOutXDsrFlow및 fOutXCtsFlow 모두 FALSE 설정됩니다
- fDtrControl
DTR_CONTROL_ENABLE - fRtsControl RTS_CONTROL_ENABLE
- x로 끝나는 문자열의 경우:
fInX 및fOutX 모두 true설정됩니다. fOutXDsrFlow 및fOutXCtsFlow 모두 FALSE설정됩니다. - fDtrControl
DTR_CONTROL_ENABLE - fRtsControl RTS_CONTROL_ENABLE
- p로 끝나는 문자열의 경우:
fInX 및fOutX 모두 FALSE설정됩니다. fOutXDsrFlow 및fOutXCtsFlow 모두 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 |
참고 항목
DCB
SetCommState