DDK

From YYpBD's MediaWiki

Jump to: navigation, search

Windows Driver Development Kit이다.

Windows File System을 조작할 수 있다.

목차

Link

SDK Download

DDK ISO 다운로드

예제

MSDN Ramdisk.sys 예제

관련 사이트

기본 환경 설정

  • 시작\프로그램\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 문제

MSDN 내용

해결책 제시 사이트


위 문제가 아닌 경우에는

extern "C"{
#include <ntddk.h>
NTSTATUS __stdcall DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath );
}

위와같이 .h에 DriverEntry를 선언한다.


Books

드라이버 개발자를 위한 윈도우 파일 시스템

윈도우즈 드라이버 모델 WDM

맞춤검색