NdisSetOptionalHandlers 함수(ndis.h)
NDIS 드라이버는 NdisSetOptionalHandlers 함수를 호출하여 드라이버 함수의 진입점을 설정하거나 변경할 수 있습니다.
구문
NDIS_STATUS NdisSetOptionalHandlers(
NDIS_HANDLE NdisHandle,
PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);
매개 변수
NdisHandle
드라이버 또는 드라이버 인스턴스를 식별하는 NDIS 핸들입니다.
프로토콜 드라이버의 경우 ProtocolSetOptions 함수에 전달된 NdisDriverHandle 값 또는 NdisOpenAdapterEx 함수를 호출하여 얻은 NdisBindingHandle 값입니다.
미니포트 드라이버의 경우 MiniportSetOptions 함수에 전달된 NdisDriverHandle 값입니다.
필터 드라이버의 경우 FilterSetOptions 함수에 전달된 NdisDriverHandle 값 또는 FilterAttach 함수에 전달된 NdisFilterHandle 값입니다.
OptionalHandlers
다음 NDIS 구조 중 하나에 대한 포인터입니다.
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_CO_CLIENT_OPTIONAL_HANDLERS
NDIS_FILTER_PARTIAL_CHARACTERISTICS
NDIS_MINIPORT_CO_CHARACTERISTICS
NDIS_MINIPORT_PNP_CHARACTERISTICS
NDIS_MINIPORT_SS_CHARACTERISTICS
NDIS_NDK_PROVIDER_CHARACTERISTICS
NDIS_PROTOCOL_CO_CHARACTERISTICS
NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS
반환 값
NdisSetOptionalHandlers는 다음 상태 값 중 하나를 반환합니다.
| 반환 코드 | 설명 |
|---|---|
|
NdisSetOptionalHandlers는 드라이버 진입점을 설정하는 경우 NDIS_STATUS_SUCCESS 반환합니다. |
|
리소스가 부족하여 NdisSetOptionalHandlers가 실패했습니다. |
|
미니포트 드라이버가 NDIS 6.0 이상을 지원한다고 지정하지 않아 NdisSetOptionalHandlers가 실패했습니다. 미니포트 드라이버는 NdisMRegisterMiniportDriver 함수를 호출할 때 NDIS 버전을 지정합니다. |
|
이전 값이 적용되지 않으면 NdisSetOptionalHandlers는 NDIS_STATUS_FAILURE 반환합니다. |
설명
NDIS 드라이버는 NdisSetOptionalHandlers 를 호출하여 기본 진입점을 덮어쓸 수 있습니다. OptionalHandlers에서 전달되는 구조 유형은 드라이버 유형에 따라 달라집니다.
프로토콜 드라이버는 ProtocolSetOptions 함수의 컨텍스트에서 NdisSetOptionalHandlers 를 호출할 수 있습니다 . 프로토콜 드라이버가 NdisOpenAdapterEx 함수에서 유효한 핸들을 가져온 후 프로토콜 드라이버는 ProtocolBindAdapterEx 함수 또는 ProtocolOpenAdapterCompleteEx 함수에서 NdisSetOptionalHandlers를 호출할 수 있습니다.
이 경우 유효한 구조는 다음과 같습니다.
NDIS_PROTOCOL_CO_CHARACTERISTICS
NDIS_CO_CLIENT_OPTIONAL_HANDLERS
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
2개의 굴뚝 오프로드 구조에 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.
미니포트 드라이버는 MiniportSetOptions 함수의 컨텍스트에서 NdisSetOptionalHandlers를 호출합니다.
이 경우 유효한 구조는 다음과 같습니다.
NDIS_MINIPORT_CO_CHARACTERISTICS
NDIS_MINIPORT_PNP_CHARACTERISTICS
NDIS_MINIPORT_SS_CHARACTERISTICS
NDIS_NDK_PROVIDER_CHARACTERISTICS
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
2개의 굴뚝 오프로드 구조에 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.
필터 드라이버는 FilterSetOptions 함수의 컨텍스트에서 NdisSetOptionalHandlers 를 호출 합니다 .
현재 Windows 버전에는 선택적 필터 드라이버 서비스가 없습니다.
필터 드라이버는 필터 모듈 에 대해 NdisSetOptionalHandlers 를 호출할 수 있습니다. 필터 드라이버는 FilterSetModuleOptions 함수의 컨텍스트에서 NdisSetOptionalHandlers를 호출합니다.
이 경우 유효한 구조는 다음과 같습니다.
NDIS_FILTER_PARTIAL_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS
NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS
4개의 굴뚝 오프로드 구조에 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | ndis.h(Ndis.h 포함) |
| 라이브러리 | Ndis.lib |
| IRQL | PASSIVE_LEVEL |
| DDI 규정 준수 규칙 | Irql_Miscellaneous_Function(ndis) |
참조
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_CO_CLIENT_OPTIONAL_HANDLERS
NDIS_FILTER_PARTIAL_CHARACTERISTICS
NDIS_MINIPORT_CO_CHARACTERISTICS
NDIS_MINIPORT_PNP_CHARACTERISTICS
NDIS_PROTOCOL_CO_CHARACTERISTICS
피드백
다음에 대한 사용자 의견 제출 및 보기