阅读:1193回复:6
ddk的使用请教
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类型在那里声明的,请提示一下,谢谢!! |
|
沙发#
发布于: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是没有内容的。 |
|
|
板凳#
发布于: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; |
|
|
地板#
发布于:2003-09-24 14:15
2. 把它的定义拿出来看一下。
|
|
|
地下室#
发布于:2003-09-24 14:16
1. 右键点击,选择\"Goto Definition\"就可以啦,我都是这么找的。
|
|
|
5楼#
发布于:2003-10-09 14:24
Very easy.
LARGE_INTEGER 在MSDN中就可以查到, CompleteIrp()在IRP处理结束时使用,具体用法,可参见DDK帮助 |
|
6楼#
发布于:2003-10-25 16:20
ddk98 帮助中没有查到,可能是ddk2000k 中有吧。
|
|