// 드라이버를 생성하는데 사용되는 대부분의 구조체, 함수이름, 상수이름등이 기술된 DDK가 제공하는 헤더파일
#include <ntddk.H>
typedef unsigned short WORD;
/*
드라이버가 메모리에서 내려올때 호출되는 함수
-------------------------------------------
Parameter
1. DriverObject
드라이버를 표현하는 자료구조
*/
void SIMPLEUnload( PDRIVER_OBJECT DriverObject )
{
}
/*
드라이버가 메모리에 올라갈때 호출되는 함수
-------------------------------------------
Parameter
1. DriverObject
드라이버를 표현하는 자료구조
2. RegistryPath
드라이버가 레지스트리에 등록된(서비스형태로)위치를 알려주는 키문자열
*/
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
WORD String[100];
// RtlZeroMomory(String, 100*2);
RtlZeroMemory(String, 100*sizeof(WORD));
RtlMoveMemory(String, RegistryPath->Buffer, RegistryPath->Length);
//SIMPLEUnload가 드라이버가 내려갈때 무언가 할일을 담당한다.
DriverObject->DriverUnload = SIMPLEUnload;
DbgPrint("%ws\n", String);
//printf("%s",); - BCS CODE
//printf("%ws",); - UNICODE
//DebugOutputString(); //API에서 사용되는 디버그 메시지 출력 함수 - BCS CODE
//DebugOutputStringW(); //API에서 사용되는 디버그 메시지 출력 함수 - UNICODE
return(STATUS_SUCCESS);
}
댓글 영역