Элементы приложения и элементы драйвера
Элементы WIA представляют атрибуты устройства и данные устройства. Приложения для обработки изображений видят устройство WIA в виде иерархического дерева элементов, где корневой элемент представляет само устройство, и все дочерние элементы, представляющие изображения или папки, содержащие изображения. Однако дерево, которое видит приложение, отделяется от дерева, созданного и поддерживаемого мини-накопителем WIA. Когда мини-диск создает дерево элементов, служба WIA автоматически создает идентичную копию этого дерева, которую могут просматривать приложения для создания образов. Элементы в скопированном дереве называются элементами приложения. Элементы дерева, созданные мини-накопителем, называются элементами драйвера.
Несколько приложений для создания образов могут одновременно использовать одно устройство для создания образов. Таким образом, представление каждого приложения объекта элемента в дереве устройств должно быть независимым от представления другого приложения. Это реализуется следующим образом:
Мини-диск создает дерево элементов объектов интерфейса IWiaDrvItem с помощью интерфейса IWiaMiniDrv и функций библиотеки служб драйверов WIA. Элементы в этом дереве элементов драйвера являются глобальными объектами, которые мини-диск использует для представления элементов устройства.
Когда приложение для создания образов запрашивает доступ к элементу в дереве, служба WIA возвращает объект элемента, который является копией элемента драйвера. Когда приложение получает объект элемента IWiaItem приложения (описанный в документации по Microsoft Windows SDK) (элемент приложения), служба WIA связывает этот объект с соответствующим объектом IWiaDrvItem minidriver в дереве элементов драйвера.
WIA создает отдельное дерево элементов приложения для каждого приложения, каждое дерево элементов приложения является копией дерева элементов драйвера.
Приложения обычно используют объект IWiaItem для чтения, проверки и записи свойств элемента, а также для запроса данных элемента.
На следующей схеме показана связь элементов приложения с элементами драйвера.
Как показано на схеме, каждое приложение для создания образов имеет собственную отдельную копию дерева элементов. Корневой элемент в дереве элементов приложения содержит указатель на корневой элемент в дереве элементов устройства.
Оставшаяся часть этого раздела содержит следующие разделы: