版块
论坛
喜欢
话题
应用
搜索
登录
注册
dt1985324的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=190194
一个简单问题
UNICODE_STRING dst;UNICODE_STRING src ; UNICODE_STRING src = RtlInitUnicodeString(L”123”);UNICODE_STRING dst = RtlInitUnicodeStri...
全文
回复
(
9
)
2008-07-31 12:02
来自版块 -
文件系统(过滤)驱动程序开发
◆
◆
表情
告诉我的粉丝
提 交
dt1985324
:
谢谢tiamo,那个好象是一个常量空间,确实不能写. 就算不是常量空间,也不能直接复制,因为不能确定两个字符串的缓冲区大小相同,可能出现字符串被截断. 内核中使用真的很麻烦,连赋值都需要自己定义一个函数.
(2008-08-07 15:49)
回复
tiamo
:
会蓝.... 因为dst的buffer指向一个const的区域 不能写的...所以会蓝 RtlInitUnicodeString很简单 if(input) { string->Length = wcslen(input) * sizeof(WCHAR); string...
(2008-08-07 12:28)
回复
dt1985324
:
确实是写错了 粗心 我找了一下 ,好想真的没有封装好的字符串赋值函数.... 我自己定义了一个 首先判断目标字符串BUF是否空,不空就释放, 然后根据源字符串大小分配目标字符串的内存空间 最后在COPY
(2008-08-07 11:39)
回复
dreamsity
:
对啊,好像参数不对吧。
(2008-08-06 00:35)
回复
Gmxpsoft
:
RtlInitUnicodeString(L”123”); ??? RtlInitUnicodeString函数是这么定义的吗?莫非我用的DDK已经过时了?
(2008-08-05 12:50)
回复
dt1985324
:
不知道蓝的原因啊.. 反正我后来是重新分配了一块足够大的内存给目标字符串,然后拷贝才成功, 不过这样,就需要自己手动释放内存了 不知道有没有聪明的办法..
(2008-08-05 08:47)
回复
znsoft
:
没必要重复声明吧?去前两行去掉即可
(2008-08-02 07:51)
回复
znsoft
:
应该不会,如果蓝了,看dump找原因
(2008-08-02 07:50)
回复
dt1985324
:
菜鸟问题 谢谢大家指教
(2008-07-31 12:04)
回复
dt1985324
加关注
写私信
0
关注
0
粉丝
42
帖子
返回顶部