描述:
我想将一个目录(包括子目录)创建成一个复合文件,但在调用下面的函数据时一般都会了失败,请问高手指点. 另外如果是目录将生成下一个IStorage结点,如果是文件则生成IStream结构文件,对于文件,是不是要为IStream分配与文件大小相同的内存,然后读文件到IStream中还是直接存储文件路径名称既可.
另:如果将char * 转换成wchar *类型?
BOOL WINAPI Create(char *pDirectory)
{
...
IStorage * pImageStorage;
hr = StgCreateStorageEx( BSTR(pDirectory),
STGM_CREATE|STGM_SHARE_EXCLUSIVE|STGM_READWRITE,
STGFMT_STORAGE,
// STGFMT_STORAGE => Structured Storage property sets
// STGFMT_FILE => NTFS file system property sets
0, NULL, NULL,
IID_IStorage,
(void**)(&pImageStorage));
if( FAILED(hr) ) return 5;
}
您可能想查找下面的文章:
- 求助:如何使用ISTORAGE接口把文件拷贝到光盘中啊?
- IStorage读取文件时占用内存的问题
- 在对IStorage读文件的过程中,为什么要调用CoTaskMemFree去释放每一个节点呢?
- IStorage->OpenStorage总是返回拒绝访问的问题
- 既然IPropertySetStorage也是读写一个复合文档,为什么不使用IStorage
- 向已存在的IStorage添加IStream覆盖之前内容?结构化存储,复合文件
- IPersistStorage保存到IStorage的问题
- 已知条件:IStorage,求:其内的IStream
- 有没有现成的IStorage的实现??
- 急急的请教高手一个关于IStorage的问题!