以下是 StgCreateDocfile 函数的声明:
#include <coml2api.h>
HRESULT StgCreateDocfile(
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD reserved,
IStorage **ppstgOpen
);
- pwcsName: 要创建的根存储的路径名。
- grfMode: 存储对象的打开模式,可以是 STGM_DIRECT、STGM_TRANSACTED 等之一,指定存储对象的访问模式。
- reserved: 保留参数,必须设置为 0。
- ppstgOpen: 指向 IStorage 接口指针的指针,用于接收创建的存储对象的指针。
函数成功时返回 S_OK,并将创建的存储对象的指针存储在 ppstgOpen 中。这个函数通常用于创建复合文档的根存储对象,然后可以在该存储对象中创建子存储或流。
以下是一个示例用法:
#include <coml2api.h>
void ExampleStgCreateDocfile() {
IStorage *pStg = nullptr;
// Create a new compound document with a specified name
HRESULT hr = StgCreateDocfile(L"example.doc", STGM_READWRITE | STGM_SHARE_EXCLUSIVE | STGM_CREATE, 0, &pStg);
if (SUCCEEDED(hr)) {
// Use the created storage object (pStg) for further operations
// Release the storage object when done
pStg->Release();
}
}
请注意,在使用 StgCreateDocfile 创建的存储对象完成操作后,应该调用 Release 方法释放对象。
转载请注明出处:http://www.zyzy.cn/article/detail/24615/Win32 API/Coml2api.h/StgCreateDocfile