从C#开始,如何在实现IStorage的返回对象上调用Release?

时间:2016-10-17 17:24:17

标签: c# com iunknown istorage structured-storage

我正在从C#读取和编写结构化存储文件。要打开文件我打电话

IStorage StorageInterface;

int result = StgOpenStorage(filename, null, STGM.READWRITE | STGM.SHARE_EXCLUSIVE, IntPtr.Zero, 0, out StorageInterface);

这有效,我可以访问该文件。我相信我需要在Storage对象上调用Release()来关闭文件。但是,我不知道如何在IUnknown上实现Release。

我可以将StorageInterface转换为实现IUnknown的对象并以这种方式调用吗?

感谢,

约翰

1 个答案:

答案 0 :(得分:2)

它来自IUnknown。每个COM对象都派生自IUnknown。只需致电

var result = output.map(function(a) {return a.test;});

也许我很仓促。我错过了C#部分...这就是你在C ++中的表现。

在C#中,你应该可以像这样打电话。

 StorageInterface->Release();

检查拼写......它来自记忆。