태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


댓글 하나가 운영자에겐 커다란 힘이 됩니다!

< USB Filter Driver - Packet Analyzer 4 탄 >


이번 시간부터는 USB Filter Driver의 구조 및 처리 루틴 중심으로 함수 하나씩 하나씩 짚고 넘어 가겠습니다.

USB Filter Driver에서 구현해야 할 루틴에 대해서 간략하게 소개를 하면서 Packet Analyzer로 구현하기 위해서

주의해야 할 사항 및 꼭 알아야 할 사항에 대해서 설명을 하겠습니다.


1. DriverEntry()

 1) DriverEntry()함수에 대해서는 따로 설명하지 않겠습니다. 너무 중요하고 일반적인 함수이기 때문

    에 여러분도 잘 알고 있을 것입니다. 그럼 DriverEntry()함수에서 Packet Analyzer로 구현하기 위

    해서는 "IRP_MJ_INTERNAL_DEVICE_CONTROL"라는 IRP에 대한 처리 루틴을 등록해 주어

    야 합니다. 이 부분이 Packet Analyzer로 구현하기 위해서 시발점이 되는 부분입니다. 아주 중요한

    부분이니 절대로 잊지 마세요.  

 


   

   

     "IRP_MJ_INTERNAL_DEVICE_CONTROL"라는 것은 USB 드라이버에서 하위 드라이버인 

     PDO에게 해당 요청의 IRP를 내려 보낼 때 그 IRP 생성을 위와 같은 URB의 형태로 PDO에게 내려

     보냅니다. 그래서 우리가 Filtering하고자 하는 데이터를 보기 위해서는 해당 Major Function을 등 

     록해야 합니다.


2. PnP Handler

 1) "IRP_MN_START_DEVICE" Minor Fuction Code 처리.

     - 위와 같은 Minor Fuction code가 내려 오면, 우리는 Application에서 USB Fitler Driver와 별도의

        통신을 하기 위해서는 통신용 Device Object를 생성해야 합니다.

     - 별도의 통신용 Device Object 생성 및 처리 로직은 아래의 링크의 내용을 참고하시면 됩니다.



이번 시간에는 USB Filter Driver의 구조 및 처리 루틴을 설명하는 첫 번째 시간으로써 DriverEntry()함수와 PnP Handler에서

통신용 Device Object를 생성하는 방법에 대해서 알아 보았습니다.

출처 : http://blog.naver.com/gunner98

위의 정보가 도움이 되셨나요? 그렇다면 댓글 하나만 남겨주세요.
댓글 하나가 운영자에겐 커다란 힘이 됩니다!

Write your message and submit
« PREV : 1 : ... 219 : 220 : 221 : 222 : 223 : 224 : 225 : 226 : 227 : ... 436 : NEXT »