whmjack
驱动小牛
驱动小牛
  • 注册日期2003-09-17
  • 最后登录2007-04-26
  • 粉丝0
  • 关注0
  • 积分290分
  • 威望29点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:1193回复:6

ddk的使用请教

楼主#
更多 发布于:2003-09-24 13:33
1
我在VC的编译条件下调试程序,程序其实是书上的范例,我有一个函数不懂,是CompleteIrp(),点击右键,查看其出处,结果看不见,我想请问一下,有些ddk函数,结构什么的,能这样找到其出处吗?如果不能,那应该怎么办呢?
2
还有一个问题,就是
LONGLONG FilePointer = IrpStack->Parameters.Read.ByteOffset.QuadPart;
这个结构的定义,应该在哪看的到呢?
3
这是wdm。h中的定义:
ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
对于ULONG POINTER_ALIGNMENT Key;怎么有两个类型,我不明白,应该如何理解?
对于LARGE_INTEGER ByteOffset; LARGE_INTEGER类型在那里声明的,请提示一下,谢谢!!
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-24 14:11
3.
#if defined(_WIN64)
#define POINTER_ALIGNMENT DECLSPEC_ALIGN(8)
#else
#define POINTER_ALIGNMENT
#endif

//
#ifndef DECLSPEC_ALIGN
#if (_MSC_VER >= 1300) && !defined(MIDL_PASS)
#define DECLSPEC_ALIGN(x)   __declspec(align(x))
#else
#define DECLSPEC_ALIGN(x)
#endif
#endif

所以POINTER_ALIGNMENT是没有内容的。
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-24 14:12
#if defined(MIDL_PASS)
typedef struct _LARGE_INTEGER {
#else // MIDL_PASS
typedef union _LARGE_INTEGER {
    struct {
        ULONG LowPart;
        LONG HighPart;
    };
    struct {
        ULONG LowPart;
        LONG HighPart;
    } u;
#endif //MIDL_PASS
    LONGLONG QuadPart;
} LARGE_INTEGER;
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-24 14:15
2. 把它的定义拿出来看一下。
助人乃快乐之本 有人给分就更快乐了 :-)
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-24 14:16
1. 右键点击,选择\"Goto Definition\"就可以啦,我都是这么找的。
助人乃快乐之本 有人给分就更快乐了 :-)
bobbysun2000
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-09 14:24
Very easy.
LARGE_INTEGER 在MSDN中就可以查到,
CompleteIrp()在IRP处理结束时使用,具体用法,可参见DDK帮助
hyglly
驱动牛犊
驱动牛犊
  • 注册日期2003-10-24
  • 最后登录2004-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-25 16:20
ddk98 帮助中没有查到,可能是ddk2000k 中有吧。
游客

返回顶部