-
-
[旧帖]
[求助][求助]WinDDK编译的一个C++驱动程序没错但是没有生成.sys文件
0.00雪花
-
发表于:
2012-3-6 18:12
1792
-
[旧帖] [求助][求助]WinDDK编译的一个C++驱动程序没错但是没有生成.sys文件
0.00雪花
下面是我的驱动程序的代码AnsiUnicode.cpp
————————————————————————————————————————
#ifdef _cplusplus
extern "C"
{
#endif
#include <NTDDK.h>
#ifdef _cplusplus
}
#endif
VOID TestDUnload(IN PDRIVER_OBJECT pDriverObject);
NTSTATUS TestDispatchRountine(IN PDEVICE_OBJECT pDriverObject,
IN PIRP pIrp);
extern "C" NTSTATUS DriverEntry(
IN PDRIVER_OBJECT pDriverObject,
IN PDEVICE_OBJECT pDeviceObject)
{
NTSTATUS status;
KdPrint(("Enter DriverEntry!\n"));
//设置派遣函数(卸载函数)
pDriverObject->DriverUnload = TestDUnload;
pDriverObject->MajorFunction[IRP_MJ_CREATE] = TestDispatchRountine;
pDriverObject->MajorFunction[IRP_MJ_CLOSE] = TestDispatchRountine;
pDriverObject->MajorFunction[IRP_MJ_WRITE] = TestDispatchRountine;
pDriverObject->MajorFunction[IRP_MJ_READ] = TestDispatchRountine;
UNICODE_STRING UnicodeString1;
RtlInitUnicodeString(&UnicodeString1, L"Hello World");//定义Unicode字符并初始化
ANSI_STRING AnsiString1;//定义一个ANSI_STRING 字符串
status = RtlUnicodeStringToAnsiString(&AnsiString1, &UnicodeString1,TRUE);
if(NT_SUCCESS(status))
{
KdPrint(("Conver successfully!\n"));
KdPrint(("Result:%Z\n", &AnsiString1));
}
else
{
KdPrint(("Conver unsuccessfully!\n"));
}
RtlFreeAnsiString(&AnsiString1);//销毁AnsiString1
//将ANSI_STRING 转换为UNICODE_STRING
ANSI_STRING AnsiString2;
RtlInitString(&AnsiString2, "Hello World!");
UNICODE_STRING UnicodeString2;//定义UNICODE_STRING字符并进行转换
status = RtlAnsiStringToUnicodeString(&UnicodeString2, &AnsiString2, TRUE);
if(NT_SUCCESS(status))
{
KdPrint(("Conver successfully!\n"));
KdPrint(("Result:%wZ\n", &UnicodeString2));
}
else
{
KdPrint(("Conver unsuccessfully!\n"));
}
//销毁UnicodeString
RtlFreeUnicodeString(&UnicodeString2);
KdPrint(("DriverEntry End!\n"));
return status;
}
VOID TestDUnload(IN PDRIVER_OBJECT pDriverObject)
{
KdPrint(("Enter DriverUnload...\n"));
}
NTSTATUS TestDispatchRountine(IN PDEVICE_OBJECT pDriverObject,
IN PIRP pIrp)
{
KdPrint(("Enter TestDispatchRountine!\n"));
return STATUS_SUCCESS;
}
————————————————————————————————————————
下面是sources文件
TARGETNAME=AnsiUnicode
TARGETPATH=obj
TARGETTYPE=DRIVER
INCLUDES=$(BASEDIR)\inc;\
$(BASEDIR)\inc\ddk;\
SOURCES=AnsiUnicode.cpp
————————————————————————————————————————
makefile
!INCLUDE $(NTMAKEENV)\makefile.def
————————————————————————————————————————
不知道怎么搞的。死活编译不出来.sys文件,编译显示没有错误但是在文件夹下面只生成了一个_objects.mac文件,不明白怎么回事啊!求高人指点。。。。。。。。。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法