BuildCommDCBAndTimeoutsW 함수(winbase.h)
디바이스 정의 문자열을 적절한 디바이스 제어 블록 코드로 변환하고 디바이스 제어 블록에 배치합니다. 또한 이 함수는 디바이스에 대한 시간 제한 없음 가능성을 포함하여 시간 제한 값을 설정할 수도 있습니다. 이 점에서 함수의 동작은 디바이스 정의 문자열의 내용에 따라 달라집니다.
구문
BOOL BuildCommDCBAndTimeoutsW(
[in] LPCWSTR lpDef,
[out] LPDCB lpDCB,
[out] LPCOMMTIMEOUTS lpCommTimeouts
);
매개 변수
[in] lpDef
디바이스 제어 정보입니다. 함수는 이 문자열을 사용하여 구문 분석한 다음 lpDCB가 가리키는 DCB 구조체에서 적절한 값을 설정합니다.
문자열은 모드 명령의 명령줄 인수와 동일한 형식이어야 합니다.
COMx[:][baud={11|110|15 150||30 300||60|600|12 1200||242400||484800||96 9600||1919200|}][parity={n |e|O|M|s}] [data={5|6|7|8}][stop={1 1.5||2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on off||hs}][rts={on|off|hs|tg}][idsr={on|off}]
"baud" 부분 문자열은 나열된 값 중 쌍으로 되어 있을 수 있습니다. 두 자리 값은 해당 값이 나타내는 연결된 값의 처음 두 자리 숫자입니다. 예를 들어 11은 110 baud를 나타내고 19는 19,200 baud를 나타냅니다.
"패리티" 부분 문자열은 패리티 비트가 전송 오류를 감지하는 데 사용되는 방법을 나타냅니다.
값은 "none", "even", "odd"를 나타냅니다.
"mark", "space".
자세한 내용은 TechNet의 모드 명령 참조를 참조하세요.
예를 들어 다음 문자열은 전송 속도 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}" 부분 문자열을 지정하지 않으면 함수는 lpCommTimeouts의 COMMTIMEOUTS 구조를 무시합니다.
참고
winbase.h 헤더는 BUILDCommDCBAndTimeouts를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |