brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1398回复:5

guid的问题。

楼主#
更多 发布于:2002-07-08 14:38
guid好像有三种形式。各自用在什么地方的?
怎样通过guid打开设备呢?
打一枪……换个地方……再打一枪……
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-08 16:50
有四种形式:
1. 定义一个 IMPLEMENT_OLECREATE 宏,它允许Automation clients创建一个CCmdTarget-derived类的实例,例如:
// {CA761230-ED42-11CE-BACD-00AA0057B223}
IMPLEMENT_OLECREATE(<<class>>, <<external_name>>,
0xca761230, 0xed42, 0x11ce, 0xba, 0xcd, 0x0, 0xaa, 0x0, 0x57, 0xb2, 0x23);

2. 定义一个 DEFINE_GUID 宏,它通常使用在非MFC程序中,例如:
// {CA761231-ED42-11CE-BACD-00AA0057B223}
DEFINE_GUID(<<name>>, 0xca761231, 0xed42, 0x11ce, 0xba, 0xcd, 0x0, 0xaa, 0x0, 0x57, 0xb2, 0x23);

3. 作为一个静态结构进行声明,例如:
// {CA761232-ED42-11CE-BACD-00AA0057B223}
static const GUID <<name>> = { 0xca761232, 0xed42, 0x11ce, { 0xba, 0xcd, 0x0, 0xaa, 0x0, 0x57, 0xb2, 0x23 } };

4. 为注册表入口或编辑指定的一个形式,例如:
{CA761233-ED42-11CE-BACD-00AA0057B223}

你用DriverWorks随便创建一个例子,一般包含两部分exe和SYS,你看一下EXE中是如何用GUID打开的。
brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-08 16:57
ds生成的exe程序中,使用了两个类:
HANDLE hDev;
CDeviceInterfaceClass DevClass(pClassGuid, pError);
    if (*pError != ERROR_SUCCESS)
        return INVALID_HANDLE_VALUE;

CDeviceInterface DevInterface(&DevClass, instance, pError);

    if (*pError != ERROR_SUCCESS)
return INVALID_HANDLE_VALUE;

hDev = CreateFile(DevInterface.DevicePath(),……);

类CDeviceInterfaceClass,CDeviceInterface
好像是ds定义的,我怎样才能在自己的dll中应用呢?
打一枪……换个地方……再打一枪……
brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-16 17:16
我可以在自己的dll中使用了,只要把原来工程中的连接加进去,就可以了。
那我用ds做好以后在其他机器上安装要拷贝那些库文件和dll呢?
打一枪……换个地方……再打一枪……
brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-19 13:23
没人回答了?给分吧 :(
打一枪……换个地方……再打一枪……
denizen
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2012-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-24 14:10
没人回答了?给分吧 :(

早被版主抢跑了。
Where there is a will, there is a road.
游客

返回顶部