C WinAPI包含两个空缓冲区

C WinAPI包含两个空缓冲区,c,winapi,C,Winapi,最后一个CopyMemory出现语法错误 表达式必须是指向完整对象类型的指针 我想你不能取消对void的引用,但是任何关于如何连接这两个缓冲区的想法听起来像是requestBuffer是void*。不能对void指针使用指针算法。在添加之前,请尝试强制转换到(PBYTE): do I need to manually do that ? Does CopyMemory accept shifting the destination ? the following isn't working 请

最后一个CopyMemory出现语法错误 表达式必须是指向完整对象类型的指针
我想你不能取消对void的引用,但是任何关于如何连接这两个缓冲区的想法听起来像是
requestBuffer
void*
。不能对
void
指针使用指针算法。在添加之前,请尝试强制转换到
(PBYTE)

do I need to manually do that ? Does CopyMemory accept shifting the destination ? the following isn't working
请显示您收到的实际错误消息。我确信通过强制转换,他的问题已“解决”,但在本例中,
sizeof(requestBuffer)
不是空指针的大小吗?它被立即分配到之前,并分配给似乎是一个指针,无论如何。这让我想知道OP是否发现应该是发送请求的字节长度,而不是指针的大小(如果我读得正确的话)。最后,是否需要最后的PVOID施法?@WhozCraig:你说得很对,
sizeof
似乎是错误的。也许应该是
sizeof(fileBuffer)
?很难说。正如您所说,对
(PVOID)
的强制转换是不必要的,但我将其保留在那里以保持与原始代码的连接。@WhozCraig是的,我发现了sizeof()问题,因为它返回了4:)
CopyMemory((PVOID)((PBYTE)requestBuffer+sizeof(requestBuffer)), ...