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) |