#include<ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("Unload!");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
DbgPrint("Hello World");
driver->DriverUnload=DriverUnload;
return STATUS_SUCCESS;
}
1.直接打印字符串
DbgPrint("Hello World!");
2.空结尾的字符串,以普通的C语法表示字符串常量
char variable_string[] = “Hello World”;
DbgPrint(“%s”, variable_string);
3.空结尾的宽字符串(WCHAR类型)
WCHAR string_w[] = L“Hello World!”;
DbgPrint(“%ws”, string_w);
DbgPrint(“%S”, string_w);
4.Unicode串,由UNICODE_STRING结构描述,包含16位字符。
typedef struct _UNICODE_STRING{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
}UNICODE_STRING , *PUNICODE_STRING;
UNICODE_STRING string_unicode = L”Hello World!”;
DbgPrint(“%wZ\n”, &string_unicode);
5.ANSI串,由ANSI_STRING结构描述,包含8位字符。
typedef struct _STRING{
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
}STRING, *PANSI_STRING;
STRING bar;
或者:ANSI_STRING bar;
RtlInitAnsiString(&bar, ”Hello World!”);
DbgPrint(“%wZ\n”, &bar);
转载于:https: