심플스 - 프로그램과 책 이야기로 가득한 곳, (Simples.Kr)

  


   심플스 배너



 

가상 디바이스 드라이버를 작성하고 있습니다.

디바이스 드라이버를 공부하기 시작한지 얼마되지 않아서 코드가 문제가 생겨도

어디서 문제가 생기는지를 가늠할 수가 없네요

 

문제는 HID Miniport드라이버를 작성했습니다.

IOCTL_READ_REPORT 을 처리할때 등록했던 DPC루틴에서

 

IRQL 에러가 나면서 블루스크린이 뜨는데요.

 

여기서 제가 한 행동은 전역으로 작성한 배열에 값을 쓰니까 메모리 이런 에러가 납니다.

 

일단 IRQL문제가 아닐까 생각이 되서

IRQL을 어떻게 확인하고 어떻게 다뤄야 하는지 알아보려고 하는데 아직 잘 모르겠네요.

 


profile

[레벨:6]lain

2010.08.19 11:21:17

해당 코드가 실행되는 위치에 IRQL은 그 코드위치에서 KeGetCurrentIrql 함수를 호출해주시면 됩니다.

이 함수는 현재의 IRQL을 리턴해줍니다.


IRQL은 다음과 같이 #define 되어 있습니다. ( x86에 경우 )

#if defined(_X86_)
//
// Interrupt Request Level definitions
//

#define PASSIVE_LEVEL 0             // Passive release level
#define LOW_LEVEL 0                 // Lowest interrupt level
#define APC_LEVEL 1                 // APC interrupt level
#define DISPATCH_LEVEL 2            // Dispatcher level
#define CMCI_LEVEL 5                // CMCI handler level

#define PROFILE_LEVEL 27            // timer used for profiling.
#define CLOCK1_LEVEL 28             // Interval clock 1 level - Not used on x86
#define CLOCK2_LEVEL 28             // Interval clock 2 level
#define IPI_LEVEL 29                // Interprocessor interrupt level
#define POWER_LEVEL 30              // Power failure level
#define HIGH_LEVEL 31               // Highest interrupt level

#define CLOCK_LEVEL                 (CLOCK2_LEVEL)

#endif


KdPrint 함수로 출력해보시면 해당 위치에 IRQL를 바로 아실 수 있을것입니다.emoticon


[레벨:0]하누리

2010.08.19 11:49:41

아.. 답변 감사합니다.^^

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 서로 궁금한 것을 묻고 답해주는 곳입니다 ^^ 관리자 2009-03-10 36885
250 이 페이지 스크롤캡쳐 안되는 이유가 뭘까요..? [1] 알그지 2010-11-16 3139
249 항상 맨 앞에 기능 Always On Top 부탁드려요.. [1] 오픈캡쳐좋아 2010-11-14 2825
248 visual studio 2010 좀 바뀐건가요? ㅡㅡ [7] [레벨:2]zerocow 2010-11-10 3063
247 야후 ip로 접속하는 것좀 질문드립니다[수정] [4] 묵찌영 2010-11-09 3340
246 원형캡처 후 테두리 제거 어떻게 하나요? [1] 샴푸아빠 2010-11-03 2957
245 국내 리버스엔지니어링 포럼사이트같은거 어디 없을까요? [6] [레벨:2]zerocow 2010-10-16 3044
244 진로상담이요~ [2] [레벨:0]Hideroot 2010-10-07 2792
243 그 프로그램 속성 - 버전에 들어가는거에대해서 질문좀남깁니다. [2] [레벨:2]zerocow 2010-10-06 3054
242 vs6.0 에서 inline assembly 콜링 컨벤션 관한질문입니다. file [2] [레벨:0]rees 2010-09-25 2936
241 이런작업은 어떻게 하는걸까요?따른 프로그램이 있나요? file [2] [레벨:2]크래커 2010-09-24 2883
240 dll이 두번로드되었을때 닫히게 하는방법없을가요? [2] [레벨:2]크래커 2010-09-23 2818
239 [edx+edx] [3] [레벨:1]포이 2010-09-22 3086
238 연구용으로 짠 핵프로그램의 프로그램보호를받을 수 잇을까요? [2] [레벨:2]크래커 2010-09-21 3017
237 미안합니다.... 그리고 고맙습니다. [1] [레벨:0]파랑새 2010-09-08 2795
236 죄송하지만...한번만 더 문의드립니다.. file [2] [레벨:0]_SKY_ 2010-09-07 2805
235 다시 한번 도움 요청 드립니다..간단한건데...애먹네요...ㅠㅜ file [3] [레벨:0]_SKY_ 2010-09-03 3361
234 안녕하세요...혹시 저와 비슷한 작업을 하셨던 분이 계시면 조언부탁... [4] [레벨:0]_SKY_ 2010-08-28 3111
233 VbaHresultCheckObj 함수? [4] [레벨:1]포이 2010-08-27 3636
232 무선랜 WEP 보안에 대한 질문입니다 [4] [레벨:0]declspec 2010-08-21 3495
» 현재 코드를 작성중인곳의 IRQL은 어떻게 확인 하나요? [2] [레벨:0]하누리 2010-08-19 3025

  • 이용약관
  • 개인정보취급방침
  • 사이트맵