선택적 프로토콜 드라이버 서비스 구성
NDIS는 프로토콜 드라이버가 선택적 서비스를 구성할 수 있도록 프로토콜 드라이버의 ProtocolSetOptions 함수를 호출합니다. NDIS는 프로토콜 드라이버의 NdisRegisterProtocolDriver 함수 호출 컨텍스트 내에서 ProtocolSetOptions를 호출합니다.
ProtocolSetOptions는 선택적 ProtocolXxx 함수에 대한 기본 진입점을 등록하고 다른 드라이버 리소스를 할당할 수 있습니다. 선택적 ProtocolXxx 함수를 등록하기 위해 프로토콜 드라이버는 NdisSetOptionalHandlers 함수를 호출하고 OptionalHandlers 매개 변수에서 특성 구조를 전달합니다. 이 경우 프로토콜 드라이버는 NdisSetOptionalHandlers의 NdisHandle 매개 변수에 있는 ProtocolSetOptions의 NdisDriverHandle 매개 변수에서 핸들을 전달합니다.
프로토콜 드라이버에 NdisOpenAdapterEx 함수의 유효한 핸들이 있는 경우 프로토콜 드라이버는 ProtocolBindAdapterEx 함수 또는 ProtocolOpenAdapterCompleteEx 함수에서 NdisSetOptionalHandlers를 호출할 수도 있습니다. 이 경우 프로토콜 드라이버는 NdisSetOptionalHandlers의 NdisHandle 매개 변수에 있는 NdisOpenAdapterEx의 NdisBindingHandle 매개 변수에서 핸들을 전달합니다.
이 경우 유효한 특성 구조는 다음과 같습니다.
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 굴뚝 오프로드 설명서 참조)