Поделиться через


Функция 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 DriverEntry.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisGetRoutineAddress (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisGetRoutineAddress (NDIS 5.1)) в Windows XP.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL PASSIVE_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также

DriverEntry

UNICODE_STRING