목차
1장 윈도우즈 95 프로그래밍 입문
윈도우즈 3.1과 윈도우즈 95 = 20
윈도우즈 3.1의 멀티태스킹 = 21
협력형 또는 비선점형 멀티태스킹 = 23
윈도우즈 95의 멀티태스킹 = 24
선점형 멀티태스킹 = 24
윈도우즈 95 프로그래밍 = 25
윈도우즈 3.1 프로그래밍 = 25
데이터형 = 30
윈도우즈 95 프로그래밍 = 30
2장 Visual C++와 MFC 입문
Visual C++ = 39
SampleMDI.rc = 50
OLE 구현 = 50
응용프로그램 = 51
메인 프레임 = 51
내용과 보기(다큐먼트와 뷰) = 51
각 부분의 명칭 = 52
프로젝트 웍스페이스 = 53
프로젝트 = 54
클래스 마법사 = 54
API 프로그래밍과 MFC 프로그래밍 = 55
MFC(Microsoft Foundation Class) = 56
응용프로그램 프레임웍 = 56
내용과 보기(Document and View) = 56
MFC 클래스의 종류 = 56
CObject 클래스 = 56
응용프로그램 구조 클래스 = 57
시각객체 클래스 = 57
범용 클래스 = 57
C++ 기억 더듬기 = 57
처음 만들어 보는 MFC 프로그램 = 71
3장 비동기 직렬통신과 RS-232
직렬 통신(Serial Communication) = 80
병렬 전송(Parallel Transfer)과 직렬 전송(Serial Transfer) = 80
전 이중(Full Duplex)과 반 이중(Half Duplex) = 81
동기와 비동기 = 81
비동기 직렬 통신 = 82
직렬통신과 하드웨어 = 83
RS-232 = 89
4장 모뎀
모뎀 속도 = 95
Bell 103 = 95
Bell 212, V.22 = 95
V.22bis = 95
V.32 = 95
V.32bis = 95
모뎀 지능 = 96
벙어리(dumb) 모뎀 = 96
똑똑한(smart) 모뎀 = 96
MNP-4 모뎀 = 96
MNP-5 모뎀 = 97
V.42, V.42bis = 97
악수 : 핸드쉐이킹(handshaking) = 97
하드웨어 흐름 제어(hardware flow control) = 98
소프트웨어 흐름 제어(software flow control) = 98
모뎀 명령어 = 99
S-레지스터 = 99
S0-Number of Rings to Auto answer = 100
S1-Ring Counter = 100
S2-Escape Character = 100
S3-Carrage Return Character = 101
S4-Line Feed Character = 101
S5-Backspace Character = 101
S6-Wait Time For Dial Tone Before Blind Dialing = 101
S7-Wait Time For Carrier After Dial = 102
S8-Pause Time For Dial Delay = 102
S9-Carrier Detect Response Time = 102
S10-Lost Carrier To Hangup Delay = 102
S11-DTMF Tone Duration = 103
S12-Escape Prompt Delay = 105
모뎀 명령어(AT COMMAND SET) = 105
A/-최종 명령 반복 = 105
ATA-전화받기 = 105
ATBn-표준 선택 = 106
ATDn-전화 걸기 = 106
ATEn-자국 반향 = 107
ATHn-전화 끊기 = 108
ATIn-모뎀 확인 = 108
ATLn-스피커 소리크기 = 109
ATMn-스피커 제어 = 109
ATOn-온라인 상태 제어 = 109
ATQn-결과 코드 제어 = 110
ATSn-S레지스터 값 읽고 쓰기 = 110
ATVn-결과값 형태 = 110
ATXn-결과 부호 선택 = 110
ATZn-모뎀 초기화 = 112
5장 파일 전송
Protocol = 114
파일 전송 규약들 = 115
KERMIT = 115
XMODEM = 115
YMODEM = 117
ZMODEM = 118
6장 터미널 에뮬레이터
ANSI 터미널 = 121
커서 이동 코드 = 122
화면 지우기 = 123
화면과 문자의 속성 = 123
기타 터미널 코드 = 125
VT-100 = 125
VT-220 = 126
FS-220B = 126
7장 윈도우즈 95 프로그래밍 활용
프로세스와 스레드 = 128
프로세스 생성 = 129
LPSECURITY_ATTRIBUTES lpProcessAttributes = 131
스레드 생성 = 140
스레드 종료 = 143
동기화 = 144
동기화에 대하여 = 144
대기 함수 = 144
프로세스간 동기화 = 151
동기화와 중첩입출력 = 152
동기화 사용 = 156
8장 윈도우즈 95의 통신
커널 개선 = 170
개선된 윈도우즈 95의 통신 구조 = 171
새로운 통신장치와 하드웨어 지원 = 172
TAPI(Telephony API) = 172
9장 윈도우즈 95의 통신함수
윈도우즈 3.1과는 어떻게 다른가? = 180
통신 자원의 핸들 얻기 = 182
통신 자원의 설정값 수정 = 183
통신 자원의 구성 = 185
읽기 쓰기 동작 = 185
중첩 작업(Overlapped Operaions) = 186
시간 초과(Time-Outs) = 188
통신 오류 = 190
통신 사건 = 191
확장 함수 = 193
통신 함수의 사용 = 194
통신 자원 구성하기 = 194
통신 사건 감시하기 = 195
통신 함수 설명 = 197
BuildCommDCB = 197
lpDef = 197
lpDCB = 198
BuildCommDCBAndTimeouts = 199
lpCommTimeOuts = 199
ClearCommBreak = 200
ClearCommError = 201
hFile = 201
lpError = 201
lpStat = 202
DeviceloControl = 202
hDevice = 203
lpInBuffer = 204
nInBufferSize = 204
lpOuBuffer = 204
nOuBufferSize = 204
lpBytesReturned = 204
lpOverlapped = 205
EscapeCommFunction = 206
hFile = 206
dwFunc = 206
GetCommConfig = 207
hCommDev = 207
lpCC = 207
lpdwSize = 208
GetCommMask = 208
hFile = 208
lpEvtMask = 208
GetCommModemStatus = 209
hFile = 210
lpModemStat = 210
GetCommProperties = 210
hFile = 211
lpCommProp = 211
GetCommState = 212
hFile = 212
lpDCB = 212
GetCommTimeouts = 212
hFile = 213
lpCommTimeouts = 213
PurgeComm = 213
hFile = 213
dwFlags = 213
SetCommBreak = 214
hFile = 214
SetCommConfig = 215
hCommDev = 215
lpCC = 215
dwSize = 215
SetCommMask = 215
hFile = 216
dwEvtMask = 216
SetCommState = 216
hFile = 217
lpDCB = 217
SetCommTimeouts = 217
hFile = 218
lpCommTimeouts = 218
SetupComm = 218
hFile = 218
dwInQueue = 218
dwOutQueue = 218
TransmitCommChar = 219
hFile = 219
cChar = 219
WaitCommEvent = 220
hFile = 220
lpEvtMask = 220
lpOverlapped = 221
10장 윈도우즈 95용 통신 애뮬레이터
통신 애뮬레이터의 기본 구조 = 224
MS-DOS에서의 통신 프로그램 구조 = 225
윈도우즈 3.1의 통신 프로그램 구조 = 231
WM_COMMNOTIFY = 233
통신 포트 열기 = 234
통신 포트 초기화 = 236
데이터 수신 = 241
데이터 전송 = 242
통신 포트 닫기 = 243
윈도우즈 95의 통신 프로그램 구조 = 243
통신 포트 열기 = 246
중첩 입출력 = 247
데이터 수신 = 247
데이터 전송 = 250
통신 포트 닫기 = 253
통신 이벤트 감시 = 253
직렬 통신 포트 클래스 = 258
직렬 통신 포트 클래스 = 262
직렬 통신 포트에 대한 핸들 = 262
통신 포트의 아이디 = 263
통신 포트가 사용 중인가? = 264
장치 제어 블록(DCB) = 264
중첩 입출력(OVERLAPPED I/O) = 265
통신 포트 감시 스레드 = 269
직렬 통신 포트 설정 클래스 = 275
직렬 통신 포트 오류 종류 = 276
멤버 변수 값 읽기, 쓰기 = 277
직렬 포트 클래스의 멤버 함수 = 278
직렬 포트 감시 스레드 시작하기 = 279
직렬 포트에서 데이터 읽기 = 280
직렬 포트에 데이터 쓰기 = 282
통신 포트 입출력 버퍼 지우기 = 287
통신 포트 열기 = 287
통신 포트 닫기 = 291
통신 포트 감시 스레드 활성화 = 292
통신 포트 감시 스레드 비활성화 = 293
장치 제어 블록(DCB) 설정하기 = 293
설정값을 레지스트리에 저장하기, 레지스트리에서 읽기 = 297
직렬 포트 클래스 소스코드 = 301
모뎀 클래스 = 328
모뎀 열기 = 333
모뎀 닫기 = 334
OK 응답 기다리기 = 334
CONNECT 응답 기다리기 = 335
직렬 포트 입력 버퍼에서 한 줄 읽어오기 = 335
모뎀에 명령어 보내기 = 336
초기화 작업 = 337
전화 걸기 = 337
전화 끊기 = 338
전화 받기 = 339
응답오류 검사 = 340
모뎀 클래스 구현 = 340
단순한 터미널을 만들어 보자 = 349
기본 틀 만들기 = 349
직렬 통신 클래스와 모뎀 클래스 프로젝트와 추가하기 = 353
클래스 사용 전에 stdafx.h파일 수정하기 = 353
다큐먼트 클래스에 추가될 변수들 = 354
직렬 포트 클래스와 모뎀 클래스 사용하기 = 354
프로그램의 전체적인 구조 = 355
화면 버퍼의 구조 = 355
화면에 쓰일 글꼴 = 358
다큐먼트 클래스의 멤버함수 작성 = 360
OnNewDocument = 360
뷰 클래스 = 362
Monitor ThreafdProc에서 메세지를 받기위한 준비 = 362
연결과 끊기 구현 = 365
ID_메뉴항목_부메뉴항목 = 366
Monitor TheadProc에서 온 메시지 처리 = 370
캐럿(caret)이란? = 375
WM_CHAR, WM_PAINT = 380
연결과 끊기 툴바 만들기 = 386
메뉴 켜기, 끄기 = 389
모두 합쳐 보기 = 390
한글 출력 문제 = 417
환경 설정 대화상자 추가 = 422
직렬통신 포트 환경 설정과 터미널 환경 설정 대화상자 = 422
안시 터미널 애뮬레이터를 만들어 보자 = 449
안시 터미널 크래스 = 452
유한 상태 오토마타 = 455
DisplayANSIChar 함수 = 456
안시 터미널 클래스 이용 = 466
비트맵을 가진 보이지 않는 DC = 476
화면 지우기와 한 줄 스크롤 처리 = 478
OnlnitialUpdate = 480
DisplayChar, DisplayANSIChar = 481
화면 다시 그리기 - OnDraw = 488
완성된 ANSI 터미널 에뮬레이터 = 489
전체 소스 코드 = 490
부록
부록 ASCII = 528