阅读:802回复:0
还是内存问题
如果我自己定义一个这样的结构:
typedef struct tagPacket { UCHAR Channel; ULONG Length; PVOID Buffer; HANDLE hEvent; }PACKET,*LPPACKET; 其中,指向缓冲区的指针Buffer由内存分配符new进行分配,如下所示: LPACKET pSndPacket = new PACKET; LPBYTE pBuffer = new BYTE[200]; pSndPacket->Buffer = pBuffer; pSndPacket->Channel = 0; pSndPacket->Length = 200; pSndPacket->hEvent = NULL; BOOL bResult = DeviceIoControl(m_hDevice,RELAY_IOCTL_SEND,pSndPacket,sizeof(PACKET), NULL,0,&dwBytesTransfered,NULL); 那么,我在驱动程序里面,得到的指向缓冲区的指针pSndPacket->Buffer可以直接引用吗?(我总觉得不能用)如果想用,那怎么转换呢? 我的开发环境是driverstudio 2.7 + windows2000 + vc6.0 |
|
|