본문 바로가기

프로그래밍/Windows Device Driver

[WDK] passThrough 드라이버 이번에도 가장 먼저 이 드라이버가 무슨 일을 하는지 msdn부터 확인 해보겠다.The passThrough minifilter demonstrates how to specify callback functions for different types of I/O requests. 각각의 I/O 요청에 대한 콜백 루틴을 어떻게 지정해 주는지 알아보는 드라이버라고 한다?요곤 nullfilter에 비해 용량도 무려 17kb 이상 크다.요망하더라도 막상 보면 내용은 별로 없다. 보다시피 nullfilter에 비해 내용이 많지만....디버그 메세지 처리 관련 코드 들이다.특이하게 PFLT_FILTER를 nullfilter에선 구조체 안에 짱박아서 전역 변수로 선언했는데 이번엔 그냥 냅다 빼버렸다는거?? 중요한건 아닌.. 더보기
[WDK] nullFilter 드라이버 앞으로 wdk 샘플 예제를 보면서 공부해볼 생각이다.오늘은 wdk 샘플 예제 중 filesys 의 nullfilter 샘플이다.우선 설명 부터 보자. 설명은 wdk 도움말을 참조했음~~ The minifilter is a sample minifilter that shows how to register a minifilter with the filter manager. 뭐 영어 울렁증으로 인해 .. 걍 구글 번역으로 ㄱㄱnull 필터는 미니필터 샘플로 필터 매니저에 미니필터를 등록해주는걸 보여준다?...그냥 등록하는 거랜다..그럼 등록하는 코드 한번 보자. 헤더는 3개를 등록되어있다.fltkernel.h, dontuse.h, suppress.h 그리고 필터 드라이버 이름은 유니코드 문자열의 "NullFil.. 더보기
메모리 누수 툴(Poolmon.exe) 커널 메모리를 할당 하고서 해제를 안하면언제 어디서 블루스크린이 뜰지 모른다.블루스크린이라도 뜨면 감사. 이런 문제를 해결하는 방법은 일일이 할당된 메모리를해제 했는지 확인해야 하는데 이를 쉽게 할 Poolmon.exe이라는 툴을 소개하고자 한다. 일단 DDK나 WDK를 설치하면 알아서 따라온다. 해당 응용프로그램은 ExAllocatePoolWithTag( .........., 'WSS' )ExFreePoolWithTag( .......... , 'WSS' )이런식으로 메모리 할당하고 해제 하였다면 SSW 이라고 해서첫번째 할당한 메모리두번째 헤제한 메모리세번째 사용한 메모리 확인할 수 있다 더보기
wdk build OACR Error 환경 설정 변수가 틀려서 나는 에러다...내가 보기엔 주로 Path에서 나는 에러다..환경변수 뭔가 건드린 것이 있는지 확인 부터 해보자! 더보기
error c2220 : warniing treated as error wdk, ddk 빌드 시 경고가 많으면 에러를 낸다.이럴 경우 sources 파일에 MSC_WARNING_LEVEL=/WX 추가 해주면 된다.아니라면 경고를 다 잡아내던가....... 더보기
swapbuffers, scanner wdk 7600의 예제 샘플 중 swapbuffer라는 샘플이 있다.이 샘플을 이용하면 현재 사용되는 파일을 수정할 수 있다.이와 비슷하게 scanner라는 샘플이 있는데 이 샘플 또한 사용되는 파일의 데이터?를 볼 수 있다.그냥 참고.... 더보기
vmware windows 7 windbg 설정 방법 구글에 흔히 windbg 설정 방법 또는 vmware windbg 라고 쳐도 셋팅 방법들이 많이 나온다.그런제 정작 다 따라 해봤는데 안되는 경우가 있는데vmware에서 serial port가 2번으로 잡혀 있는 이런 경우가 안된다 이럴 경우 print 드라이버를 삭제 후 serial port 상태로 만들어서 설정해주면 해결 완료 더보기
파일 삭제 순서 API deletefile->zwopenfile->zwsetinformation 더보기