VS2005에서 DDK Build 환경 구축

Visual Studio 2005에서 Driver Code를 빌드하려면 ddkbuild Tool을 이용하면 쉽게 Build가 가능하다.
http://www.osronline.com/article.cfm?article=43

위의 사이트에서 다운로드가 가능(가입필요)
ddkbuild_v72.zip

 

다운로드한 파일의 압축을 풀면 cmd 파일을 확인 할 수 있는데 이 파일을 DDK가 설치된 폴더에 복사해 넣도록 하자.(D:\WINDDK)

이것으로 기본적인 준비는 끝났다. 이제 실제 Project를 만들어서 Build해보도록 하자.

참고로 WDK는 VisualStudio 6.0에서는 컴파일 되지 않습니다.

1. 아래 그림과 같이 vs2005에서 메이크 파일 프로젝트를 생성합니다. 프로젝트가 생성되는 경로에서 공백을 허용하지 않으니 확인해야된다.

Build에 대한 설정은 아래의 그림을 참조 실행파일 *.exe는 무시해도 된다.

Release 의 경우에는 checked 설정을 free로 변경해주고 Build해주면 되므로, 확인하도록…

위의 과정까지 마치게 되면 Makefile Project가 생성이 되지만, 아직 source파일이 없으므로 Build를 할 수 없다.

아래의 HelloDriver.c 파일을 작성해서 프로젝트에 추가하도록 하자.

#include <ntddk.h>
void HelloUnload(IN PDRIVER_OBJECT DriverObject)
{
KdPrint(("HelloUnload...\n")) ;
}
// 드라이버의 EntryPoint - 반드시 C 맹글링 규칙을 따라야 한다.
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
KdPrint(("Hello Driver World\n")) ;
DriverObject->DriverUnload = HelloUnload ; // 드라이버가 unload 될 때 호출 될 함수 등록
return STATUS_SUCCESS;
}

Driver 코드를 빌드하려면 소스파일이외에도 MAKEFILE과 SOURCES파일이 추가적으로 필요하다.이 파일들도 직접 생성하여 추가하도록 한다.
<MAKEFILE>

#
# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source
# file to this component.  This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#
!INCLUDE $(NTMAKEENV)\makefile.def

<SOURCES>

TARGETNAME=HelloWorld
TARGETPATH=obj
TARGETTYPE=DRIVER
SOURCES=HelloDriver.c

위의 두 파일은 확장자를 가지지 않게 생성을 해야되며 파일명은 대소문자를 가리지 않지만 되도록이면 대문자로 설정하는 것을 권한다. 파일명이 틀릴 경우 컴파일이 되지 않으니 철자를 확인해서 삽질(??)을 하지 않도록 주의하자.

이제 Build Solution(F7)을 통해서 빌드를 하면, HelloDriver.sys파일이
$프로젝트경로\HelloDriver\objfre_wnet_x86\i386
위치에 생성이 되는 것을 확인을 할 수 있다. 만약 *.sys파일이 생성이 되지 않았을 경우에는 Build log를 확인 후 재설정을 하도록.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다