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

要求

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

另请参阅

DriverEntry

UNICODE_STRING