关于驱动的简单有关问题

关于驱动的简单问题
各位大侠,小弟初学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的长度?