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