没有合适的资源?快使用搜索试试~ 我知道了~
GUID就能获得设备路径
4星 · 超过85%的资源 需积分: 20 63 下载量 12 浏览量
2008-11-04
16:13:52
上传
评论
收藏 58KB DOC 举报
温馨提示
试读
10页
有了设备名(路径),就可以直接调用CreateFile打开设备,进行它所支持的I/O操作了。如果事先并不能确切知道设备名,如何去访问设备呢?
资源推荐
资源详情
资源评论
Q 前几次我们讨论的都是设备名比较清楚的情况,有了设备名(路径),就可以直接调用 CreateFile 打
开设备,进行它所支持的 I/O 操作了。如果事先并不能确切知道设备名,如何去访问设备呢?
A 访问设备必须用设备句柄,而得到设备句柄必须知道设备路径,这个套路以你我之力是改变不了的。
每个设备都有它所属类型的 GUID,我们顺着这个 GUID 就能获得设备路径。
GUID 是同类或同种设备的全球唯一识别码,它是一个 128 bit(16 字节)的整形数,真实面目为
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID, *PGUID;
例如,Disk 类的 GUID 为“53f56307-b6bf-11d0-94f2-00a0c91efb8b”,在我们的程序里可以定义
为
const GUID DiskClassGuid = {0x53f56307L, 0xb6bf, 0x11d0,
{0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b)};
或者用一个宏来定义
DEFINE_GUID(DiskClassGuid, 0x53f56307L, 0xb6bf, 0x11d0,
0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
通过 GUID 找出设备路径,需要用到一组设备管理的 API 函数
SetupDiGetClassDevs, SetupDiEnumDeviceInterfaces,
SetupDiGetInterfaceDeviceDetail, SetupDiDestroyDeviceInfoList,
以及结构 SP_DEVICE_INTERFACE_DATA, SP_DEVICE_INTERFACE_DETAIL_DATA。
有关信息请查阅 MSDN,这里就不详细介绍了。
ctylboy
- 粉丝: 41
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页