Поделиться через


WIA Minidriver

Приложения рассматривают устройства windows Image Acquisition (WIA) как иерархическое дерево объектов IWiaItem или IWiaItem2 с корневым элементом, представляющим само устройство. Устройства WIA могут одновременно использоваться несколькими приложениями. Поэтому необходимо, чтобы представление каждого приложения объекта IWiaItem или IWiaItem2 было независимым от представлений другого приложения. Это достигается путем наличия двух разных объектов элементов. Драйвер создает дерево элементов драйвера объектов интерфейса IWiaDrvItem , также называемых элементами драйвера, с помощью методов служб драйверов WIA. Это глобальные объекты, которые драйвер использует для представления внутренних элементов каждого драйвера. Когда приложение создает объект IWiaItem или IWiaItem2 (также называемый элементом приложения), этот объект связывается с соответствующим интерфейсом IWiaDrvItem драйвера в дереве элементов драйвера. Количество ссылок сохраняется в объекте интерфейса IWiaDrvItem в соответствии со следующими правилами:

При использовании этой схемы подсчета ссылок многие объекты IWiaItem или IWiaItem2 могут связываться с одним интерфейсом IWiaDrvItem без помех. Так как каждый IWiaItem или IWiaItem2 содержит собственное хранилище свойств, приложение может продолжать считывать свойства элемента даже после удаления элемента, но никакие операции, требующие доступа к устройству, не будут успешными. Поскольку свойства элемента хранятся в объекте IWiaItem или IWiaItem2 , драйвер должен задать свойства объекта IWiaItem или IWiaItem2 для устройства перед передачей данных.