如何动态获取WFP例程地址?

时间:2018-09-10 08:05:50

标签: windows driver wfp

我正在为 WinXP(使用TDI技术) win7(使用WFP技术)编写Windows网络过滤器驱动程序,希望该驱动程序与WinXP和Win7。

因为 WFP 仅在Vista和更高版本中可用,所以,我必须获取 WFP 例程(例如: FwpmEngineOpen0 FwpsCalloutRegister0 )动态地址,否则无法在WinXP下加载驱动程序。

但是当我使用 MmGetSystemRoutineAddress 尝试获取 FwpmEngineOpen0 例程地址时,该例程在Win7下始终返回0。

MSDN说:“ MmGetSystemRoutineAddress ...驱动程序可以使用此例程来确定特定版本的Windows上是否有该例程。该例程只能用于内核或HAL导出的例程,而不能用于任何驱动程序定义的例程。

那么, MmGetSystemRoutineAddress 无法获取 WFP 例程地址吗?

如果要动态获取 WFP 例程地址,该如何解决?

感谢您能提供的任何帮助!

0 个答案:

没有答案