gpt4 book ai didi

c++ - 将 LPVOID 转换为 CComVariant

转载 作者:行者123 更新时间:2023-11-30 04:28:53 37 4
gpt4 key购买 nike

我有以下 Win32 ATL 代码:

CComVariant result;
DWORD dwFileSize = GetFileSize(hFile, NULL);
LPVOID lpBuffer = HeapAlloc(hHeap, NULL, dwFileSize + 1);
ReadFile(hFile, lpBuffer, dwFileSize, &bytesReaded, NULL)

现在我需要将 lpBuffer 的值放入结果变量。我该怎么做?

最佳答案

void* 指针不是变体允许的数据类型。最接近的自然匹配是一个字节数组。您可以使用 CComSafeArray 类包装器为元素类型 VT_U1 创建一个,CComVariant(SAFEARRAY*) 构造函数来创建变体。您可能希望直接调用 SafeArrayCreateDiscriptor 和 SafeArrayAllocData 以避免必须复制缓冲区。直接读入分配的数据缓冲区。

关于c++ - 将 LPVOID 转换为 CComVariant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9759917/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com