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 버전이 지정된 루틴을 내보낸다는 것을 알고 있는 경우 NdisGetRoutineAddress 를 사용하도록 NDIS 드라이버를 작성하지 마세요.

일반적으로 NDIS 드라이버는 DriverEntry 루틴에서 NdisGetRoutineAddress를 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisGetRoutineAddress(NDIS 5.1 참조))에 대해 지원됩니다. Windows XP의 NDIS 5.1 드라이버(NdisGetRoutineAddress(NDIS 5.1 참조))에 대해 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Miscellaneous_Function(ndis)

추가 정보

DriverEntry

UNICODE_STRING