윈도우에 보면 전화나 팩스를 지원하는 서비스가 있습니다. 이것을 사용할때 사용하는 파일입니다.
system32, system폴더의 tapi*.* 파일은 모두 tapisev 서비스와 관련이 있습니다.
모뎀를 사용해서 인터넷을 연결하는 사용자는 이 서비스를 사용하게 됩니다. 모든 윈도우버전에 모두 들어가 있는 기능입니다.
모뎀을 만들어 내는 측에서도 드라이버를 만들 때 윈도우의 이 기능을 참조해서 드라이버를 만듭니다.
질문의 에러의 원인 분석을 하자면 tapisrv를 사용하면서 사용자의 환경에서는 중요한 것이 kernel입니다. 즉 메모리입니다.
adsl
모뎀을 통한 인터넷이라고 가정을 해서 설명을 하자면 전화를 걸거나, 인터넷을 사용중에는 adsl모뎀의 드라이버가 윈도우의
tapisrv(전화기능서비스)를 호출하고 다시 tapisrv가 윈도우의 winsock 기능을 호출하고 다시 winsock에서
tcp/ip 호출하여 인터넷에 연결이 되고 각 사이트의 서버에서 이미지나 html을 다운로드 받는 형태를 취하게 됩니다.
클라이언트(사용자의 컴퓨터)에서 중요한 것은 kernel(커널=메모리+가상메모리)입니다. 그런데 보통 디바이스(장치) 드라이버를 불러들이는 영역은 지정이 되어 있는데 이 영역을 다른 장치나 프로그램들이 사용중이라서 오류가 나는 경우입니다.
98의 경우 tapisrv.ini가 잘못되어서 나오는 경우도 있습니다. 이럴때는 ini 파일을 삭제하고 다시 연결하면 자동적으로 제대로 만들어지지만
2000이상이라면 adsl모뎀 드라이버를 다시 제거 했다가 설치를 해주어서 리프레시(refresh)를 시켜주는 것이 좋겠습니다.
또한 중요한 것이 메모리영역이므로 바이러스검사도 해보고 다른 프로그램을 실행시키지 않은 상태에서 다시 테스트 해보는 것도 중요합니다.
추가정보
윈도우에서 모뎀으로 전화를 걸면 어떤 파일이 움직이는지를 설명하였네요
중요한 것은 윈도우에서 기능을 사용할때 윈도우에서 파일을 사용하는데 이 파일과 장치드라이버 간의 관계를 이해를 해야 될때가 된 것 같습니다.
앞으로 나오는 차기 윈도우는 XP에서도 보았듯이 다른 장치(device)를 띠었다 붙였다를 자유자재로 할 수 있는 기능이 많이 추가 될것입니다.
그러므로 더욱 절실히 요구되는것이 윈도우와 각 장치드라이버간의 이해 입니다.
각 장치와 윈도우와 정보전달관계를 대강이나마 이해를 해야 합니다. 그래야 어떤 장치든지 컴퓨터와 연결해서 사용하는데 불편함이 없을 겁니다.
그리고 만약 사무실에서 랜을 이용해서 인터넷을 하는데 이런 에러가 나온다면 잘못된 인터넷 연결 셋팅이거나 바이러스등 다른이유라고 판단 할 수 있겠지요
tapisrv는 전화나 모뎀을 이용한 통신에 사용되는 것이지 랜을 통한 연결에는 사용되지 않습니다.
끝으로 TAPI는: Microsoft Windows Telephony API 입니다.
즉 마이크로소프트에서 만든 전화로 통신해서 연결하는 프로그램을 만들 때 쉽게 사용할 수 있도록 만든 API 즉 함수입니다.