【发布时间】:2012-04-03 07:59:45
【问题描述】:
我有以下 Win32 ATL 代码:
CComVariant result;
DWORD dwFileSize = GetFileSize(hFile, NULL);
LPVOID lpBuffer = HeapAlloc(hHeap, NULL, dwFileSize + 1);
ReadFile(hFile, lpBuffer, dwFileSize, &bytesReaded, NULL)
现在我需要将 lpBuffer 的值放入结果变量中。我该怎么做?
【问题讨论】:
-
您要创建什么类型的变体?
-
字符串。但是 result = (BSTR)lpBuffer 没有给我文件中的有效字符串,而是一些乱码
-
使用以 LPCSTR 作为参数的构造函数创建 CComBSTR 的实例。然后在 CComVariant 的构造函数中使用这个实例,它将对 CComBSTR 的引用作为参数。
标签: c++ winapi visual-c++ atl