C语言 封装GetIDsOfNames Close
时间: 2023-09-16 08:11:54 浏览: 116
COM IDispatch接口封装
在 C 语言中封装 GetIDsOfNames 和 Close 是比较简单的。
对于 GetIDsOfNames,可以使用 IDispatch 接口的 GetIDsOfNames 方法来实现。以下是一个简单的示例代码:
```c
HRESULT GetIDsOfNames(IDispatch* pDispatch, LPOLESTR* rgszNames, UINT cNames, DISPID* rgdispid) {
// 调用 IDispatch::GetIDsOfNames 方法
return pDispatch->lpVtbl->GetIDsOfNames(pDispatch, IID_NULL, rgszNames, cNames, LOCALE_USER_DEFAULT, rgdispid);
}
```
在上面的代码中,我们传入一个 IDispatch 接口指针和方法名数组,调用 IDispatch::GetIDsOfNames 方法来获取方法 ID,返回一个 HRESULT 类型的值。
对于 Close,可以使用 IDispatch 接口的 Release 方法来实现。以下是一个简单的示例代码:
```c
void Close(IDispatch* pDispatch) {
// 释放 IDispatch 接口
pDispatch->lpVtbl->Release(pDispatch);
}
```
在上面的代码中,我们传入一个 IDispatch 接口指针,调用 IDispatch::Release 方法来释放接口资源,从而结束与 COM 对象的通信。
阅读全文