以下是 CreateStreamOnHGlobal 函数的基本定义:
HRESULT CreateStreamOnHGlobal(
HGLOBAL hGlobal,
BOOL fDeleteOnRelease,
LPSTREAM * ppstm
);
参数说明:
- hGlobal: 一个全局内存句柄,用于存储数据。
- fDeleteOnRelease: 一个布尔值,指示在释放 IStream 接口时是否同时删除关联的全局内存。如果设置为 TRUE,则在释放 IStream 接口时会删除内存;如果设置为 FALSE,则不删除内存。
- ppstm: 一个指向 IStream 接口指针的指针,用于接收创建的流接口。
函数返回 HRESULT 类型的值,表示操作的结果。如果函数成功执行,返回 S_OK;否则返回相应的错误代码。
示例用法:
#include <Windows.h>
#include <Combaseapi.h>
int main() {
// 初始化COM库
CoInitialize(NULL);
// 创建一个全局内存句柄
HGLOBAL hGlobal = GlobalAlloc(GHND, 1024);
// 创建一个IStream接口
LPSTREAM pStream = NULL;
HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pStream);
if (SUCCEEDED(hr)) {
// 在这里可以使用pStream进行数据操作
// 释放IStream接口
pStream->Release();
}
// 释放全局内存
GlobalFree(hGlobal);
// 反初始化COM库
CoUninitialize();
return 0;
}
这是一个简单的示例,演示了如何使用 CreateStreamOnHGlobal 函数创建一个基于内存的 IStream 接口。在实际应用中,你可能需要根据具体的需求进行更复杂的操作。
转载请注明出处:http://www.zyzy.cn/article/detail/24595/Win32 API/Combaseapi.h/CreateStreamOnHGlobal