|
引用楼主 ddoeddoe 的帖子:
在驱动程序里面,在XXX_IOControl()里面定义的...IOCTL_POWER_OFF...,我在应用程序里面,用DeviceIoControl(hFile,IOCTL_POWER_OFF,NULL,0,NULL,0,NULL,NULL)....结果程序报错:
'IOCTL_POWER_OFF' : undeclared identifier...
是不是不能这么直接用?那该怎么使用?或者我少添加个什么文件?
IOCTL_POWER_OFF其实是一个宏定义,代表一个数字。你在应用程序中没有和驱动定义相同,或者直接写上
DeviceIoControl(hFile,IOCTL_POWER_OFF,NULL,0,NULL,0,NULL,NULL)肯定会报错的。
正确做法是
在驱动中找到定义IOCTL_POWER_OFF的地方
通常都是#define IOCTL_POWER_OFF 0x....
然后把这个#define IOCTL_POWER_OFF 0x....复制到应用程序中即可。
有时候我压根不定义,直接传递相同的数字DeviceIoControl(hFile,0x12345678,NULL,0,NULL,NULL)
XXX_IOControl()里面收到0x12345678就做我们要他做的事情。
good luck
|
|