关于deviceIOcontrol中的dwIoControlCode参数
在PB帮助中看到KernelIoControl中dwIoControlCode 的响应处理在 OEMIoControl 中,因此添加一个新的自定义dwIoControlCode后,只要在OEMIoControl函数中对dwIoControlCode相应进行处理。可是DeviceIoControl中dwIoControlCode的相应处理在哪个函数中呢?是在设备驱动的XXX_IOControl中么?希望知道的能告诉一下小弟,谢过了。
[解决办法]
这个是驱动开发的最基本的:
pDriverObject-> MajorFunction[IRP_MJ_DEVICE_CONTROL] = NdisProtIoControl;
在入口点DriverEntry的地方,初始化结构时,自己起名字,这里是NdisProtIoControl,然后在NdisProtIoControl函数里处理大概如下:
switch (FunctionCode)
{
case IOCTL_YOUR_OWN_IDCODE:
//处理自己的代码.
[解决办法]
是的,是在XXX_IOControl中处理。就是说你调用DevicIOControl,通过操作系统中的文件管理接口,最后调用的是特定流驱动中的XXX_IOControl