阅读:1920回复:2
纳闷了N天的一个菜鸟驱动问题
怎么能使以下编译通过,就是想把这个NdisMSleep(1);加下去就是找不到头文件
纳闷了N天了......我是新手请各位路过的大哥帮下小弟....!!! ////////////////////////////////////////////////// // a.cpp文件 #define NDIS50 1 extern "C" { #include <ntddk.h> #include <ndis.h> } #pragma comment(lib,"ndis") // 驱动程序加载时调用DriverEntry例程 NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString) { NdisMSleep(1); // 请视情况返回DriverEntry例程执行结果 return STATUS_DEVICE_CONFIGURATION_ERROR; } 编译时错误如下,还有加NdisMRegisterDevice这类涵数都是同样报错,但加协议驱动的涵数没问题 是缺少了什么头文件?找了N天了还是搞不懂!!! --------------------Configuration: a - Win32 Debug-------------------- Compiling... a.cpp E:\vc_code\a\a.cpp(17) : error C2065: 'NdisMSleep' : undeclared identifier Error executing cl.exe. a.sys - 1 error(s), 0 warning(s) |
|
|
沙发#
发布于:2010-05-01 15:54
去掉#include <ntddk.h>试试。
在DriverEntry前面加extern "C". |
|
|
板凳#
发布于:2010-05-04 00:49
NdisMxxx函数都是所谓的NDIS miniport driver functions. 你要编译这个驱动的话,需要定义合适的NDIS_MINIPORT_DRIVER和NDIS51_MINIPORT.
好好看看这篇文章。http://www.wd-3.com/031504/NDISCompile.htm |
|