阅读:1398回复:4
莫名其妙的报错,求解
部分代码如下:
int PacketSize; PUCHAR pPacketContent; PUCHAR pBuf; UINT BufLength; NdisQueryPacket(MyPacket,NULL,NULL,NULL,&PacketSize); NdisAllocateMemory(&pPacketContent,2000,0,HighestAcceptableMax); NdisZeroMemory(pPacketContent, 2000); NdisQueryBufferSafe(MyPacket->Private.Head, &pBuf, &BufLength, 32); NdisMoveMemory(pPacketContent, pBuf, BufLength); 报错为: myioctl.cpp(37) : error C2440: 'initializing' : cannot convert from 'int *' to 'unsigned int *' myioctl.cpp(38) : error C2664: 'NdisAllocateMemory' : cannot convert parameter 1 from 'unsigned char ** ' to 'void ** ' myioctl.cpp(40) : error C2664: 'NdisQueryBufferSafe' : cannot convert parameter 2 from 'unsigned char ** ' to 'void ** ' myioctl.cpp(51) : error C2664: 'NdisQueryBufferSafe' : cannot convert parameter 2 from 'unsigned char ** ' to 'void ** ' 很奇怪啊,在另一个程序里都可以正常通过的,为什么在这里就不行了呢?真是奇怪,请大侠指点 |
|
沙发#
发布于:2007-09-23 21:22
自己顶起
|
|
板凳#
发布于:2007-09-24 11:00
类型不匹配,强制转换就可以了
|
|
地板#
发布于:2007-09-24 11:11
不可能啊
在另外一个程序里是可以正常通过的啊 |
|
地下室#
发布于:2007-09-25 15:58
定义的时候定义为PVOID,用的时候强制转化过来
|
|