본문 바로가기

프로그래밍/Windows Device Driver

BugCheck 50 블루스크린 발생 원인 및 해결 방법 뭐 처럼 간만에 블루스크린이 떳네요.? 특별히 작업할 일이 없어서 그런거긴해도.. 할때마다 눈물나요 ㅎㅎ 이번에 블루스크린은 Bug Check 0x50 잘못된 메모리 사용이라고 보시면 빠를듯 해요 덤프 파일에도 떡하니 나오네요 unsigned char buffer[4096] = { 0, }; unsigned char sha[MAX_PATH] = { 0, }; status = ZwCreateFile( &hFile, FILE_READ_DATA, &ObjAttr, &IoStatusBlock, 0, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, FILE_OPEN, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0); if (!NT_SUCCESS(status)) { st.. 더보기
BugCheck C9, 06 블루스크린... 오늘도 어김없이 verifier.exe 툴로 돌렸을 때 bugcheck c9, 06 코드가 떳다. ㅜㅜ 내용인 즉슨 irp 완료 하는데 있어서 팬딩을 주지 말라나 . 중요한건 status 값인 것이다... NTSTATUS 값을 초기화 안한 상태로 값을 리턴하니 해당 블루스크린이 발생했던 것 ㅠㅠ 항상 느끼는 것.. 초기화는 넘나 중요한 것~ 더보기
블루스크린 0xC4 0x62 블루스크린 코드 0xC4, 0x62로 나는 블루스크린은 Verifier 툴로 검사 시 할당된 메모리를 해제하지 않고 드라이버가 내려갈 때 이렇게 블루스크린을 출력합니다. 그러니 우리 모두... 메모리를 할당하면.... 사용하고나선 바로바로 해제해주는 습관을... 해제되지 않은 메모리 수는 맨 마지막 파라미터로 넘어오는데요. 전 뭘 해제를 안했는지 6개나 남아있네요.. ㅠ.ㅠ 더보기
[WDK] 드라이버에서 사용되는 구조체 정리 정말 정말 아름다운 그림을 발견하여 링크 걸어요.. http://www.perisoft.net/engineer/wdmcard.htm 정말 정말 알아보기 쉽게 딱 정리해놓았네요.. 혹시나 링크 나중에 사라질까봐..저장.. 더보기
[Windows Driver] 필터 드라이버 고도(Altitude range) 필터드라이버의 사용하는 용도에 따라 해당 고도를 MS에서 지정해 주는데 위의 이미지는 그 일 부분에 대해서 캡쳐한 화면이다. 좀 더 자세한 내용은 http://msdn.microsoft.com/en-us/library/windows/hardware/ff549689(v=vs.85).aspx 가서 확인을 하면 된다. 또한 인증 받은 드라이버들에 대하여 회사에 대해서도 나오는데.... 우리나라에선 잉카와 안랩 하우리 등 백신 부분에서 눈에 많이 보인다. 더보기
장치드라이버 아이콘 변경하기 드라이버 아이콘 변경하기 주소 http://diymediahome.org/windows-icons-reference-list-with-details-locations-images/ 주소에서 아이콘을 찾아 설치파일(inf 파일)을 수정해서 넣어주면 된다. HKR,,Icon,,"-31" 더보기
[Windows Driver] 커널 파일 저장 될 때의 파일 길이 구하기 scanner의 데이터를 볼 경우 저장된 값 이외에 쓰레기 값들이 들어온다. 이 이유는 드라이버 개발자를 위한 윈도우 파일 시스템의 책 내용에서 추측할 수 있는데 책에는 이렇게 나와 있다. 저장되는 파일의 크기는 stack location의 parameter의 union 구조체에 저장 되어 있는데(parameters.Write.Length) 이 크기가 실제 데이터 크기가 아니란다. 항상 페이지 크기로 설정 되어 있기 때문이란다.(0x10000) 그렇기에 실제 크기를 알고자 할 경우 FSRTL_COMMON_FCB_HEADER 구조체에서 파일 크기와 관련된 멤버 변수를 추출해야 한단다. FcbHeader = currenIrpStack->FileObject->FsContext , size = FcbHeader.. 더보기
chkinf 사용하기 WinDDK\7600.16385.1\tools\Chkinf\ 에 가면 inf 파일 검사해주는 툴이 있다.chkinf 란 놈인데 사용방법은 msdn에 아주 잘 나와 있다.http://msdn.microsoft.com/en-us/library/windows/hardware/ff543462(v=vs.85).aspx 기본적으로 simrep 의 inf 파일 가지고 테스트를 해보았다. 결과는 화면과 같이 에러 1줄 나온다..마이크로소프트 사용하지 마라.... 뭐 이런 내용이다...그래서 12번째 줄Provider의 String을 변경 해주고 다시 한번 실행해 주면~~짜잔~ 정상적으로 나온다. 해당 툴은 DTM 테스트 시에도 사용이 된다. 더보기