初级的驱动(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;
}
