WIA 아키텍처 개요
WIA는 클라이언트 애플리케이션의 강력한 작업을 보장하기 위해 COM(구성 요소 개체 모델) out-of-process 서버로 구현됩니다.
WIA에는 WIA 서비스, WIA 드라이버 서비스 라이브러리 및 공급업체 사용자 모드 드라이버의 세 가지 기본 구성 요소가 있습니다.
WIA 서비스는 이미징 디바이스를 열거하고, 디바이스 속성을 검색하고, 디바이스에 대한 이벤트를 설정하고, 디바이스 개체를 만듭니다.
WIA 드라이버 서비스 라이브러리는 디바이스에 독립적인 모든 서비스를 구현합니다.
공급업체 사용자 모드 드라이버는 WIA 속성 및 명령을 특정 디바이스에 매핑합니다. WIA 공급업체 사용자 모드 드라이버에는 두 가지 유형이 있습니다.
미니드라이버: 가장 일반적인 유형의 공급업체 드라이버입니다. WIA 미니드라이버 인터페이스를 구현하는 COM 개체입니다. 공급업체는 이러한 유형의 드라이버를 사용하여 모든 WIA 기능과 기능을 활용할 수 있습니다.
마이크로드라이버: 이 드라이버는 미니드라이버보다 훨씬 제한적이므로 개발이 더 간단합니다. 주로 기본 스캐너 디바이스에 사용됩니다. 이 드라이버는 COM 개체가 아닙니다. 몇 가지 함수를 내보내는 DLL입니다. 마이크로드라이버를 카메라 디바이스에 사용할 수 없습니다.
다음 다이어그램에서는 WIA 아키텍처를 보여 줍니다.
이미징 애플리케이션
이미징 애플리케이션은 미니드라이버와 직접 통신하지 않고 WIA API(애플리케이션 프로그래밍 인터페이스)를 통해 WIA 서비스와 통신하여 이미지에 액세스하고 WIA 디바이스에서 데이터를 가져옵니다. 이러한 애플리케이션은 시스템에서 제공하는 일반적인 사용자 인터페이스 또는 공급업체에서 제공하는 사용자 인터페이스를 사용할 수 있습니다. 이미징 애플리케이션용 WIA API에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
WIA 서비스
WIA 서비스는 이미징 애플리케이션 및 WIA 미니드라이버와 통신하는 시스템 제공 구성 요소입니다. WIA 서비스는 애플리케이션과 별도의 프로세스 및 WIA 미니드라이버와 동일한 프로세스에서 실행됩니다. 애플리케이션은 디바이스 요청을 WIA 서비스로 전달하고, WIA DDI(디바이스 드라이버 인터페이스)를 통해 요청을 적절한 미니드라이버로 전달합니다.
WIA 드라이버 서비스 라이브러리
WIA 드라이버 서비스 라이브러리는 WIA 미니드라이버에 대한 도우미 기능을 제공하는 시스템 제공 구성 요소입니다. 미니 드라이버는 도우미 함수를 호출하여 다음과 같은 작업을 수행할 수 있습니다.
WIA 드라이버 항목 트리를 초기화합니다.
디바이스 속성을 읽고 쓰고 유효성을 검사합니다.
데이터를 전송합니다.
또는 미니드라이버가 이러한 작업 자체를 수행할 수 있습니다. 도우미 기능을 활용하여 개별 솔루션을 유연하게 개발할 수 있는 동시에 WIA 미니드라이버의 개발 시간과 크기를 줄일 수 있습니다.
WIA User-Mode 미니드라이버
WIA 미니드라이더는 WIA 속성 변경 및 명령을 이미징 디바이스로 전송하는 공급업체에서 제공하는 사용자 모드 구성 요소입니다. 미니 드라이버는 WIA 서비스에서 미니드라이버와 통신하기 위해 호출하는 WIA DDI를 구현합니다.
WIA 미니드라이버가 표준 WIA 미니드라이버 인터페이스를 구현합니다. 미니드라이버가 USB 드라이버와 같은 표준 Microsoft Windows 커널 모드 드라이버를 통해 이미징 디바이스와 통신합니다. 미니 드라이버는 CreateFile, ReadFile, WriteFile 및 DeviceIoControl Win32 함수(Microsoft Windows SDK 설명서에 설명됨)를 호출하여 커널 모드 드라이버와 통신합니다.
이미징 애플리케이션은 WIA 미니드라이버를 직접 호출할 수 없습니다. WIA 서비스만 드라이버를 직접 호출할 수 있습니다.
커널 I/O 드라이버
커널 모드 스틸 이미지 드라이버는 시스템 제공 또는 스틸 이미지 디바이스에서 데이터를 전달하는 IHV 제공 구성 요소입니다. 커널 모드 스틸 이미지 드라이버는 버스별로 다릅니다.
Microsoft는 USB, SCSI 및 IEEE 1394 버스용 WDM 기반 커널 모드 스틸 이미지 드라이버를 제공합니다. 자세한 내용은 스틸 이미지 디바이스용 Kernel-Mode 드라이버 액세스를 참조하세요.
공급업체는 이미징 디바이스가 Microsoft에서 제공하는 커널 모드 I/O 드라이버와 호환되지 않는 경우에만 커널 모드 스틸 이미지 드라이버를 제공해야 합니다.