Function(a,b)能在特定情况下直接用Function不带括号和参数表示么?
请问以下语句如何传递参数的?
DriverObject->DriverExtension->AddDevice = Wdm1AddDevice;
NTSTATUS Wdm1AddDevice(IN PDRIVER_OBJECT DriverObject,IN PDEVICE_OBJECT pdo)
{
...
}
这段代码是在《WindowsWDM设备驱动程序开发指南》的范例里的,经亲自测试可编译执行。
让我使用这段代码没什么问题,就是不理解等号后面的Wdm1AddDevice这里为什么不是
Wdm1AddDevice(DriverObject,pdo)的形式,求高人指点,感激不尽!
[解决办法]
函数指针
[解决办法]
函数好像是函数引用。
应该这样调用
(DriverObject->DriverExtension->AddDevice)(***,****)
函数指针应该是
DriverObject->DriverExtension->AddDevice = &Wdm1AddDevice
调用是
(*(DriverObject->DriverExtension->AddDevice))(***,****)