상세 컨텐츠

본문 제목

SIMPLE.c

청강컴정/시스템프로그래밍

by luckey 2009. 3. 20. 17:45

본문



DriverEntry : 드라이버가 필요하다고 여겨졌을때(메모리 상주)

 AddDevice : 드라이버가 참여해야할 디바이스 스택이 생성될때
 
 pnpDispatch(IRP_MN_REMOVE_DEVICE) : 드라이버가 참여하던 디바이스 스택으로 부터 자신의 디바이스 오브젝트를 제거하라는 목적

SIMPLE_Unload : 드라이버가 더이상 필요하지 않을때(메모리에서 제거)

디바이스 스택 : 디바이스 오브젝트(스택)

MmMaploSpace()

ExAllocatePool()
ExFreePool()

MmUnMaploSpace()

 

Win32 수준에서 구현하기
1. GDI API 함수를 사용하는 방법
1) GetPixel() 방법 : 무척단순하다, 속도가 엄청 느리다.
2) BitBlt() 방법 : GetPixel() 방법보다는 빠르다. 하지만, 디스플레이드라이버를 사용하기에 조금 느리다.

2. DirectX9 (DirectDraw) 사용하는 방법
디스플레이 메모리를 직접 접근하기에 무척 빠르다.
DirectX API 사용에 익숙해져야 한다.


3. 커널수준에서 사용하기
- DirectX 를 사용하는 경우의 속도와 동일한 속도가 나온다.
- MmMapIoSpace()등의 DDK 함수 사용에 익숙해져야 한다.

과제 : 지금까지 배운 모든 함수를 모아서 정리

관련글 더보기

댓글 영역