Função NdisGetRoutineAddress (ndis.h)
A função NdisGetRoutineAddress retorna o endereço de uma rotina dado o nome da rotina.
Sintaxe
PVOID NdisGetRoutineAddress(
[in] PNDIS_STRING NdisRoutineName
);
Parâmetros
[in] NdisRoutineName
Um ponteiro para uma estrutura de UNICODE_STRING que especifica a cadeia de caracteres que contém o nome de uma rotina.
Valor de retorno
Retorna o endereço da rotina cujo nome é especificado em NdisRoutineName se a rotina estiver disponível; caso contrário, NULL .
Observações
Um driver NDIS pode usar NdisGetRoutineAddress para obter o endereço de uma rotina de NDIS exportada. Em seguida, o driver pode usar esse endereço para chamar a rotina do NDIS.
Um driver NDIS pode usar NdisGetRoutineAddress se o driver precisar permanecer compatível com versões anteriores. Por exemplo, se esse driver importar uma rotina de NDIS que não é exportada pela versão do NDIS em execução no momento, o gerente de E/S não carregará o driver no sistema operacional. No entanto, o driver pode primeiro usar NdisGetRoutineAddress para determinar se a rotina está disponível na versão do NDIS que está em execução no momento. Se disponível, o endereço da rotina será retornado. Em seguida, o driver pode usar o endereço para chamar a rotina. Se não estiver disponível, NULL será retornado. O driver não pode chamar a rotina, mas o driver ainda carrega no sistema operacional.
Nenhuma melhoria de desempenho é obtida usando o endereço retornado por NdisGetRoutineAddress em vez de chamar a rotina especificada pelo nome. Portanto, não escreva um driver NDIS para usar NdisGetRoutineAddress se você souber que a versão do NDIS com a qual o driver executará exporta a rotina especificada.
Normalmente, um driver NDIS chama NdisGetRoutineAddress em sua rotina de DriverEntry.