贱人一个 发表于 2012-12-23 11:24:28

驱动编程问题

//_stdcall
#include <ntddk.h>

UNICODE_STRING str;
VOID DDK_Unload (IN PDRIVER_OBJECT pDriverObject)
{
KdPrint(("驱动成功被卸载...OK-----------"));
DbgPrint("卸载成功");
}
int DriverEntry(PDRIVER_OBJECT p,PUNICODE_STRING a)
{
KdPrint(("驱动成功被加载...OK++++++++"));

str= RTL_CONSTANT_STRING(L"first:Hello,my salary!");
DbgPrint("%wZ",&str);

p->DriverUnload=DDK_Unload;

return (1);
}
错误信息


--------------------Configuration: DDK - Win32 DDK--------------------
Compiling...
0.c
C:\Documents and Settings\Administrator\桌面\工程\DDK\0.c(14) : error C2440: '=' : cannot convert from 'int' to 'UNICODE_STRING'
执行 cl.exe 时出错.
event.sys - 1 error(s), 0 warning(s)

那里错了 怎么改

メ㊣逆ご帅☆ 发表于 2012-12-23 11:24:29

本帖最后由 メ㊣逆ご帅☆ 于 2012-12-23 12:35 编辑

14删掉改成UNICODE_STRING str;
      RtlInitUnicodeString(&str,L"first:Hello,my salary!");
                DbgPrint("%wZ",&str);
应该可以●﹏●
等等我去启动下虚拟机测试下




username_badboy 发表于 2012-12-23 11:57:00

你也在学郁金香的驱动编程? 我也在学,呵呵,这个程序我编译了,在我这儿没有报错。我猜可能是你的wdk没配置好或者怎么的。。。奥,这个错误的意思是不能将将int转化为UNICODE_STRING,但是这儿的代码是没有问题的。。。。。

229078868 发表于 2012-12-23 14:45:14

驱动加载的主函数,一般是固定的格式,你哪个p和a是怎么来的?

メ㊣逆ご帅☆ 发表于 2012-12-23 17:57:17

229078868 发表于 2012-12-23 14:45 static/image/common/back.gif
驱动加载的主函数,一般是固定的格式,你哪个p和a是怎么来的?

那个名称如同变量一样,随便改的,只要数据类型一样就ok
>3<

落叶无痕 发表于 2013-4-24 21:47:01

来看看呵呵
页: [1]
查看完整版本: 驱动编程问题