阅读:2129回复:3
passthru应用程序向驱动通信的问题:CTL_CODE编译不过
问题:在应用程序头文件中定义了
#define FILE_DEVICE_XPASSTHRU 0x00008900 #define IOCTL_XPASSTHRU_SETICMPPASS (ULONG) CTL_CODE( FILE_DEVICE_XPASSTHRU, 0x00, METHOD_BUFFERED, FILE_ANY_ACCESS ) 然后hFile=CreateFile(TEXT("\\\\.\\XPASSTHRU"), GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0 ); 然后DeviceIoControl( hFile, IOCTL_XPASSTHRU_SETICMPPASS,//在这里编译不过 NULL, 0, NULL, 0, &BytesReturned, NULL ); 错误显示: D:\NDIS_filter\exe\ndisapp32\ndisapp32.cpp(183) : error C2065: 'CTL_CODE' : undeclared identifier D:\NDIS_filter\exe\ndisapp32\ndisapp32.cpp(183) : error C2065: 'METHOD_BUFFERED' : undeclared identifier D:\NDIS_filter\exe\ndisapp32\ndisapp32.cpp(183) : error C2065: 'FILE_ANY_ACCESS' : undeclared identifier D:\NDIS_filter\exe\ndisapp32\ndisapp32.cpp(190) : error C2664: 'DeviceIoControl' : cannot convert parameter 7 from 'unsigned int *' to 'unsigned long *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 谢谢了 |
|
沙发#
发布于:2004-09-27 11:55
#include "ndis.h"
|
|
|
板凳#
发布于:2005-03-25 16:50
是应用程序部分,加了也不行
|
|
地板#
发布于:2005-03-31 21:19
要加
#include <winioctl.h> |
|