一. wia 简介
1.关于 wia 【程序编程相关:使用dbms_rowid包获得rowid】 【推荐阅读:2003年北航软件学院学生建模问题集】wia 是 windows image acquisition 的简称,当前可用版本是 wia 1.0,它是 windows millennium edition (windows me) 或者更高版本的 windows 系统中提供的数字图像获取服务,同时它也能用于管理数字图像设备. 【扩展信息:通过java提供的URL类包读取网上的文】wia 接口既是应用程序接口(wia api),又是设备驱动程序接口(wia ddi),下面要讲述的都是有关 wia api 的内容.
通过 wia api,应用程序可以:
运行在强壮稳定的环境中; 最大可能地减少协同配合问题; 枚举可用的图像获取设备; 同时连接多个设备; 用标准的.可扩展的方式查询设备属性; 用标准的.高性能的传送机制获取数据; 在数据传送过程中维持图像属性; 获取大量的设备事件通知消息.2.wia 架构
wia 是使用进程外(out of process)服务实现的 com 组件,与大多数进程外服务程序不同的是,wia 通过提供自己的数据传送机制(iwiadatatransfer 接口),避免了图像数据传送过程中的性能损失.高性能的 iwiadatatransfer 接口使用共享内存来传送数据给客户程序.wia 有三个主要的组件:device manager,minidriver service library 与 device minidriver.
device manager: 枚举图像设备,获取设备属,为设备建立事件与创建设备对象; minidriver service library: 执行所有设备无关的服务; device minidriver 解释映射: wia 属性与命令到特定的设备.二. 使用wia
1.选择设备 应用程序既可以用 wia 内置的对话框来选择设备,也可以不使用 wia 的用户界面.下面的程序将弹出一个 wia 选择设备对话框: #include #pragma comment (lib, "wiaguid.lib") int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int ncmdshow) { hresult hresult; iwiaitem *pitemroot; iwiadevmgr *pwiadevmgr; coinitialize(null); __try { // create wia device manager instance ... 下一页