DDK
From YYpBD's MediaWiki
Windows Driver Development Kit이다.
Windows File System을 조작할 수 있다.
목차 |
[편집]
Link
[편집]
SDK Download
[편집]
예제
[편집]
관련 사이트
- KOSR
- Driver Online
- HybTech
- MSDN 페이지
- WinDbg 설정
- WinDbg와 VMWare 연동
- WinDbg와 Virtual PC 연동
- Debugging Tools for Windows
- NTSTATUS Value
- DDK Build
- VS와 DDK Build 연동하기
- MSDN Vista 디버깅
- Vista 디버깅 추가
[편집]
기본 환경 설정
- 시작\프로그램\Development Kits\Windows DDK 3790.1830\Build Environments\OS별\Checked, Free
1. 기본 Build 환경설정이 세팅되어서 Cmd.exe 창이 뜬다.
Checked : 디버깅 정보 포함 Free : 릴리즈용
2. 프로젝트 경로로 가는 배치파일을 만든다.
ex) copy con go.bat d: cd\ cd prj\ddk\
실행하면 바로 프로젝트가 저장된 폴더로 이동할 수 있도록 하는 것이다. 그러면 Build 자체가 쉬워진다.
3. 프로젝트 폴더에서 Build를 실행하면 makefile을 바탕으로 컴파일이 왼다.
[편집]
예제 컴파일
1. DDK 설치폴더\src 에 예제 프로젝트들이 들어있다.
2. ex.) src\wdm\usb\bulkusb\sys 폴더로 이동한후 build를 실행한다.
8 files compiled - 3808 LPS 1 executable built
위와 같은 메시지가 출력되면서 컴파일이 완료된다.
3. Windows XP 32bit로 컴파일 완료했다면 objchk_wxp_x86\i386폴더로 이동한다.
컴파일된 obj와 결과 파일인 bulkusb.sys가 생성된 것을 확인한다.
[편집]
Makefile 만들기
1. makefile 파일을 만든다
!INCLUDE $(NTMAKEENV)\makefile.def
위의 내용을 넣고 파일을 만든다.
실제로 컴파일하는 프로젝트는 makefile.def라고 생각하면 된다.
2. sources 파일을 만든다.
TARGETNAME=Test1 TARGETPATH=obj TARGETTYPE=DRIVER
SOURCES=test1.c\ test2.c
[편집]
Options
[편집]
bufferoverflowk.lib 문제
위 문제가 아닌 경우에는
extern "C"{
#include <ntddk.h>
NTSTATUS __stdcall DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath );
}
위와같이 .h에 DriverEntry를 선언한다.
[편집]
