2011-10-12 2 views
0

NDIS 5/6을 사용하는 tcp/ip 통신이 필요한 Windows 커널 드라이버를 작성하려고합니다. NDIS를 사용할 것이므로 이해하기 때문에 자체 tcp/ip 스택 구현이 필요합니다.tcp/ip 스택을 사용하는 NDIS 5/6 드라이버, 코드가 있습니까?

누구든지이 방향의 구현 방향이나 그와 가까운 것을 가리킬 수 있습니까?

도움이 될 것입니다.

친절 관련

답변

1

사용자 고유의 TCP/IP 스택을 구현할 필요가 없습니다.

먼저 드라이버에서이 작업을 수행해야합니까? 모든 복잡한 코드와 비즈니스 로직은 대개 usermode 응용 프로그램이나 서비스에 있어야합니다. 드라이버는 주로 하드웨어 주변에 매우 간단한 래퍼를 의미합니다. 이 규칙은 단순한 추상 원리가 아닙니다. — 친숙한 디버거와 훨씬 더 광범위한 Win32 API 세트를 사용할 수있는 usermode 코드를 작성하는 것이 훨씬 쉽습니다. 대부분의 코드를 usermode로 옮길 수 있다면 문제를 빨리 해결할 수 있습니다.

커널 모드에서 TCP 소켓 I/O를 수행해야하는 경우 Winsock Kernel (WSK)을 사용해야합니다. WSK는 usermode의 Winsock과 비슷한 소켓을 열 수있게합니다. (usermode Winsock API에는 더 많은 옵션과 기능이 있지만 WSK는 베어 본 임).

WSK는 Windows Vista 이상에서 사용할 수 있습니다. Windows XP를 지원해야하는 경우 TDI를 사용해야합니다. TDI는 제대로하기가 훨씬 어렵습니다. 나는 당신이 그것을 피할 수 있다면 그것을 사용하는 것이 좋습니다.

관련 문제