나는 WDK에서 제공하는 2012 년NDIS와 미니 포트 드라이버
샘플은 '미니 포트 어댑터'와 다른 사람의 사이에서 'NDIS 경량 필터'입니다 비주얼 스튜디오에서 제공하는 WDK 도구를 사용하여 이더넷 드라이버를 수정하려합니다. 나는 아직 운전 기사 작성의 시작 단계에 있으므로 코드를 탐색하기가 어렵다.
Visual Studio 2012에서 빌드 한 후 미니 포트 어댑터를 설치할 수있었습니다. [내 네트워크 어댑터 목록에 'Microsoft 가상 미니 포트 어댑터'로 표시됩니다.] 또한 IP 주소와 서브넷 마스크를 지정할 수 있습니다. [이 사실이 내 PC의 물리적 장치에 연결되지 않는다는 것을 알게되었습니다.]
또한 'Debug View'소프트웨어를 설치하여 어댑터에서 드라이버 메시지를 확인합니다. [코드에서 'DbgPrint'문을 사용한 다음 빌드했습니다.]하지만 디버그 메시지는 반복적으로 인쇄됩니다.
1- 왜 메시지가 계속해서 다시 인쇄됩니까? 메시지는 프로그램의 'datapath.c'파일에 있으며 'MPSendNetBufferLists'함수의 메시지입니다. [ '순 버퍼'지정 데이터를 전송하거나 네트워크에서 수신.]
2 I 설치 Wireshark를 어댑터에 데이터를 캡처하고이 나오는 등 ARP, HTTP, SSDP, MDNS의 요청이 있다는 것을 보여줍니다 그것. 어댑터에 실제로 무엇이 이야기되고 있는지 이해할 수 없습니까? 어떻게 말을 멈추게 할 수 있습니까?
'ping'을 사용하여 어댑터에 할당 한 IP 주소에 연결이 있는지 확인할 수 있으며 모든 패킷을 보내고 패킷 손실이 없음을 알리는 성공으로 응답합니다.
나의 목표는이 이더넷 어댑터에 IP 주소를 통해 '데이터'패킷을 보내고받는 것입니다. 즉, 응용 프로그램에서 어댑터에 할당 된 IP 주소에 연결하여 대화하고 싶습니다.
3 실제로 WDK에서 제공되는 샘플로 수행 할 수 있습니까?
기타 제안이나 조언을 환영합니다.
PS- 저는 Visual Studio 2012에 내장 된 Windows 디버거를 사용할 수 없었습니다. 2 대의 PC를 사용하여 '대상'PC에 드라이버를 연결하고 설치할 수 있었지만 중단 점 등으로는 아무 것도 할 수 없었습니다. 코드와 프로그램은 '대상'PC에 드라이버를 설치 한 후에 아무 것도하지 않았습니다. 이것에 대한 제안?. 나는 운전자의 단계별 디버깅도 할 수 있다고 생각했다. [나는 틀렸다는 것을 알고있다].
감사 아 디트
친애하는 제프리가 보이는! 물건을 정리해 주셔서 감사합니다. 이더넷 드라이버를 만들 때 참조 할 수있는 자습서가 있습니까? 현재 msdn docs 및 osronline docs를보고 있습니다. –
나는 그것이 당신의 학습 스타일에 달려 있다고 생각합니다. 개인적으로, 나는 (보통 잘못 처음 몇 번은 ...)하는 것으로 배웁니다. Netvmini와 ndislwf 샘플은 땜질하기에 좋은 출발점입니다. 책을 선호한다면 거기에 몇 가지 좋은 WDF 서적이 있고 TCPIP에 관한 책은 결코 아프지 않을 것입니다. 마지막으로 MSDN에는 실제로 NDIS에 대한 정보가 * 톤 * 있습니다. 당신은 방금 그것을 충분히 발견 할 수 있도록 체계적이어야합니다. –
안내에 다시 한 번 감사드립니다. 나는 거의 1 주일 이래로 그 2 명의 운전자에게 집중하고 있었다. 더 많은 것을 커버하고 곧 사용할 수 있기를 바랍니다. –