2011-08-05 2 views
1

NDIS 프로토콜 드라이버를 작성합니다. 내 프로토콜을 NdisRegisterProtocol에 등록 할 수 있습니다.NDIS 프로토콜 드라이버를 사용하는 방법은 무엇입니까?

일반적으로 응용 프로그램이이 드라이버에 어떻게 액세스합니까? Windows 소켓을 사용하는 방법이 있습니까? 아니면 StreamDriver 인터페이스를 제공해야합니까?

소켓 함수에는 일반적으로 IPPROTO_UDP와 같은 세 번째 매개 변수 '프로토콜'이 있습니다. 이 매개 변수를 사용하여 프로토콜 드라이버를 선택할 수 있습니까?

답변

2

프로토콜 드라이버는 Windows Sockets API에 자동으로 노출되지 않습니다 (가장 뛰어난 아키텍처 유연성을 제공하므로이 기능이 유용합니다). 그러나 몇 가지 여분의 조각을 구현하여 작동하도록 할 수 있습니다.

  1. 드라이버와 통신하려면 일부 채널을 구현해야합니다. Windows CE에 익숙하지는 않지만 StreamDriver는 그럴듯한 사운드를 들려줍니다.

  2. Winsock을 통해 해당 채널을 노출해야합니다. Winsock에서 요청을 받아 프로토콜 드라이버가 이해할 수있는 것으로 변환하는 "전송 서비스 공급자"라이브러리를 작성하십시오.

는 IPPROTO_UDP합니다 (Winsock을 프로토콜 타입) — OS가 TCP, UDP 및 원시 IP에 대한 TSP를 포함로 TCPIP (프로토콜 드라이버)를 표시하는 방법이다.

CE 관련 문서는 here이지만, NT documentation은 개요 섹션에서도 읽을 가치가 있습니다.

관련 문제