선택적 프로토콜 드라이버 서비스 구성

NDIS는 프로토콜 드라이버의 ProtocolSetOptions 함수를 호출하여 프로토콜 드라이버가 선택적 서비스를 구성할 수 있도록 합니다. NDIS는 프로토콜 드라이버의 NdisRegisterProtocolDriver 함수 호출 컨텍스트 내에서 ProtocolSetOptions를 호출합니다.

ProtocolSetOptions는 선택적 ProtocolXxx 함수에 대한 기본 진입점을 등록하고 다른 드라이버 리소스를 할당할 수 있습니다. 선택적 ProtocolXxx 함수를 등록하기 위해 프로토콜 드라이버는 NdisSetOptionalHandlers 함수를 호출하고 OptionalHandlers 매개 변수에서 특성 구조를 전달합니다. 이 경우 프로토콜 드라이버는 NdisSetOptionalHandlers의 NdisHandle 매개 변수에 있는 ProtocolSetOptionsNdisDriverHandle 매개 변수에서 핸들을 전달합니다.

프로토콜 드라이버가 NdisOpenAdapterEx 함수에서 유효한 핸들을 가져온 후 프로토콜 드라이버는 ProtocolBindAdapterEx 함수 또는 ProtocolOpenAdapterCompleteEx 함수에서 NdisSetOptionalHandlers를 호출할 수도 있습니다. 이 경우 프로토콜 드라이버는 NdisSetOptionalHandlers의 NdisHandle 매개 변수에 있는 NdisOpenAdapterExNdisBindingHandle 매개 변수에서 핸들을 전달합니다.

이 경우 유효한 특성 구조는 다음과 같습니다.

NDIS_PROTOCOL_CO_CHARACTERISTICS

NDIS_CO_CLIENT_OPTIONAL_HANDLERS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS( NDIS 6.0 TCP 굴뚝 오프로드 설명서 참조)

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS( NDIS 6.0 TCP 굴뚝 오프로드 설명서 참조)