Функция NdisGetRoutineAddress (ndis.h)

Функция NdisGetRoutineAddress возвращает адрес подпрограммы по ее имени.

Синтаксис

PVOID NdisGetRoutineAddress(
  [in] PNDIS_STRING NdisRoutineName
);

Параметры

[in] NdisRoutineName

Указатель на структуру UNICODE_STRING , указывающую строку, содержащую имя подпрограммы.

Возвращаемое значение

Возвращает адрес подпрограммы, имя которой указано в NdisRoutineName , если подпрограмма доступна. в противном случае — NULL.

Комментарии

Драйвер NDIS может использовать NdisGetRoutineAddress для получения адреса экспортируемой подпрограммы NDIS. Затем драйвер может использовать этот адрес для вызова подпрограммы NDIS.

Драйвер NDIS может использовать NdisGetRoutineAddress , если драйвер должен оставаться обратной совместимостью. Например, если такой драйвер импортирует подпрограмму NDIS, которая не экспортируется версией NDIS, работающей в данный момент, диспетчер ввода-вывода не загрузит драйвер в операционной системе. Однако драйвер может сначала использовать NdisGetRoutineAddress , чтобы определить, доступна ли подпрограмма в текущей версии NDIS. Если доступно, возвращается адрес подпрограммы. Затем драйвер может использовать адрес для вызова подпрограммы. Если он недоступен, возвращается значение NULL . Драйвер не может вызвать подпрограмму, но драйвер по-прежнему загружается в операционной системе.

Повышение производительности не достигается за счет использования адреса, возвращаемого NdisGetRoutineAddress , вместо вызова указанной подпрограммы по имени. Поэтому не записывайте драйвер NDIS для использования NdisGetRoutineAddress , если известно, что версия NDIS, с которой будет выполняться драйвер, экспортирует указанную подпрограмму.

Как правило, драйвер NDIS вызывает NdisGetRoutineAddress в своей процедуре DriverEntry .

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisGetRoutineAddress (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisGetRoutineAddress (NDIS 5.1)) в Windows XP.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL PASSIVE_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также раздел

DriverEntry

UNICODE_STRING