各位大侠,小弟初学WDM很多地方不明白,有个小问题
int i;
ULONG dwByteSize=I.ReadSize(CURRENT);
PUCHAR buffer1=new (NoPagedPool)UCHAR[dwByteSize];
PUCHAR buffer2=I.BufferedReadDest();
for(i=0;i <dwByteSize;i++)
buffer1[i]= 'A '+(i+1)%26;
RtlCopyMemory(buff2,buff1,dwByteSize);
这行代码运行到rtlcopymemory就死掉了,不知是为什么,如果换成strncpy也会死掉,是不是有些什么地方没设到。
------解决方案--------------------
buffer2设置了多大的空间?
buff1的长度 + dwByteSize > buffer2的长度?