The WIA components for Windows XP and Windows Me are shown in the following figure.
The WIA Service (wiaservc.dll) is hosted by a generic host called svchost.exe in Windows XP and stimon.exe in Windows Me. Wiaservc.dll communicates with one or more user-mode still image drivers (labeled USD1, USD2, and USD3 in the figure), each of which communicates with a particular type of kernel-mode driver. Windows XP and Windows Me provide three types of bus abstraction: USB, SCSI, and serial ( usbscan.sys, scsiscan.sys, and serscan.sys).
On the client side, an application can be either a TWAIN-compatible application (see Support for TWAIN-Compatible Applications) or a WIA application. A TWAIN application calls into the data source manager, which in turn calls into wiadss.dll, a translation component that communicates with an instance of sti.dll. Sti.dll is a stub that communicates with the WIA service. In contrast, a WIA application makes calls directly to sti.dll.