NdisGetRoutineAddress 函数 (ndis.h)

NdisGetRoutineAddress 函数返回给定例程名称的例程的地址。

语法

PVOID NdisGetRoutineAddress(
  [in] PNDIS_STRING NdisRoutineName
);

参数

[in] NdisRoutineName

指向 UNICODE_STRING 结构的指针,该结构指定包含例程名称的字符串。

返回值

返回在 NdisRoutineName 指定名称的例程的地址(如果例程可用);否则,NULL

言论

NDIS 驱动程序可以使用 NdisGetRoutineAddress 来获取导出的 NDIS 例程的地址。 然后,驱动程序可以使用此地址调用 NDIS 例程。

如果驱动程序必须保持向后兼容,NDIS 驱动程序可以使用 NdisGetRoutineAddress。 例如,如果此类驱动程序导入当前正在运行的 NDIS 版本未导出的 NDIS 例程,I/O 管理器将不会在作系统上加载驱动程序。 但是,驱动程序可以首先使用 NdisGetRoutineAddress 来确定例程是否在当前运行的 NDIS 版本中可用。 如果可用,则返回例程的地址。 然后,驱动程序可以使用地址调用例程。 如果不可用,则返回 NULL。 驱动程序无法调用例程,但驱动程序仍在作系统上加载。

通过使用 NdisGetRoutineAddress 返回的地址,而不是按名称调用指定的例程,不会获得任何性能改进。 因此,如果知道驱动程序将使用的 NDIS 版本导出指定的例程,请不要编写 NDIS 驱动程序以使用 NdisGetRoutineAddress

通常,NDIS 驱动程序在其 DriverEntry 例程中调用 NdisGetRoutineAddress

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisGetRoutineAddress (NDIS 5.1) 。 Windows XP 中支持 NDIS 5.1 驱动程序(请参阅 NdisGetRoutineAddress (NDIS 5.1) 。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL PASSIVE_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function(ndis)

另请参阅

DriverEntry

UNICODE_STRING