c# - 任何继承IUnknown的接口都可以做成COM接口吗?
解决方案
当然。这里有一个例子:Example COM Class (C# Programming Guide)。
您应该做的第一件事是找到接口的真实(idl 或 c/c++)定义。对于此 SDK,它位于例如 <setup path>\Lockheed Martin\Prepar3D v4 SDK 4.3.29.25520\inc\PDK\IWeatherSystem.h
头文件中。这是您将获得方法和接口 ID(又名“IID”)的地方。
所以在你的情况下,它会是这样的:
[Guid("e4452b96-16ba-4e82-9342-aa37af1f5c26")] // IID
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IWeatherStationV430 // IUnknown base interface is implicit
{
bool IsValid();
float GetSurfaceWind();
void SetSurfaceWind(float aVal);
// etc...
}
推荐阅读
- java - 如何使用 Selenium (JAVA) 自动化 SAP Fiori
- dynamics-crm - Dynamics Crm 365 On Premises Reports 参数在农场服务器上被禁用?
- java - 在 Java 中连接到 Docker 上的多节点 Couchbase 集群
- jquery - 页面上的现有 Jquery 库不适用于 ajax 调用的动态 html 内容
- mongodb - Openshift 表示已达到配额限制
- php - 从会话中检索数据
- vbscript - QTP/UFT - 折叠所有函数
- javascript - 不工作 screen.unlockOrientation
- c++ - 当我在我的类中使用 std::vector 作为字段时,如何在我的类中定义迭代器和 const_iterator?
- database - SQLite 搜索的错误行为