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