初级的驱动(unicode)

#include <ntddk.h>
#define BUFF_SIZE 100


void Unload(IN PDRIVER_OBJECT DriverObject)
{

}

NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{
 UNICODE_STRING unBuff;
 UNICODE_STRING unCopyDes;

 WCHAR *UnicodeString=L"UnicodeString";
 CHAR *AnsiString="AnsiString";
 int IntVal=100;

 RtlInitUnicodeString(&unBuff,L"InitUnicodeString");//初始化

 unCopyDes.Buffer=(PWSTR)ExAllocatePool(PagedPool,BUFF_SIZE);
 unCopyDes.MaximumLength=BUFF_SIZE;
 //设置一些空间的东西

 RtlCopyUnicodeString(&unCopyDes,&unBuff);//拷贝

 

 

 KdPrint(("%s",AnsiString));
 KdPrint(("%S",UnicodeString));
 KdPrint(("%wZ",&unBuff));
 KdPrint(("16进制;%x",IntVal));
 KdPrint(("10进制:%d",IntVal));
 KdPrint(("拷贝为:%wZ",&unCopyDes));


 RtlFreeUnicodeString(&unCopyDes);

 DriverObject->DriverUnload=Unload;
 //KdPrint(("hello charme"));
    return STATUS_SUCCESS;
}

posted on 2009-06-02 22:52 彭洲 阅读(151) 评论(0) 编辑 收藏

导航

统计

公告