问题标签 [midl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
com - 什么是 stdole2.tlb
stdole32.tlb 包含所有基本类型定义,如果我们使用 MIDL,每个库都必须导入它。但是当我创建 ATL DLL 项目时,lib 文件看起来像这样
我无法用谷歌搜索 stdole2.tlb 中的内容?它是否包含 stdole32.tlb?还有什么?有人可以帮我找出来吗?
c++ - Windows 异步 RPC C++ MIDL
我有一个来自客户端的 MIDL 生成的 C++ RPC 接口,它定义了两个简单的 RPC 函数。
我正在尝试从一个简单的 C++ 应用程序与服务器通信。我只有头文件 - 我是否还需要客户端存根才能成功链接我的程序?
.net - 为什么 TlbImp 不能将此用于 DIA 的 COM 接口正确导入 .NET?
我尝试导入 Microsoft 的 DIA SDK 以用于 .NET:
这似乎在大多数情况下都可以正常工作,只是由于某种原因,它不包含某些接口(例如IDiaEnumFrameData
),而包含其余接口则很好。
(该接口既不存在于 .DLL 文件中,也不存在于 .TLB 文件中——即使它存在于 C 和头文件中。)
这是什么原因造成的?
com - 如何强制 MIDL 为空的 coclass 输出 CLSID?
我在项目的 IDL 文件的库块中有一个声明,如下所示:
此类实现的唯一接口是标准的 Microsoft 定义的接口(例如 IPersistPropertyBag2)。如果我将它们包含在“MyClass”的定义中,那么它们就会被吸入类型库,这是我不想要的。问题是,如果我像上面那样将接口列表留空,那么 MIDL 将不会在生成的头文件或类型库中包含该类。
所以问题是:如何强制 MIDL 在类型库中包含“MyClass”?
或者,甚至更好:如何强制 MIDL 从类型库中排除coclass 中的某些接口?
visual-studio - VS6 中的 MIDL 选项卡
我被分配构建一个 Visual Studio 6 C++ 项目(我知道这本身就是一个问题......)。我向项目中添加了一个 IDL 文件,但 MIDL 选项卡未显示项目或文件本身。如何使 MIDL 选项卡出现?谢谢你。
windows - 谁调用了我的 RPC?
我正在构建一个 Microsoft RPC 服务器,我想知道是否有办法确定哪个用户调用了 RPC 函数?(意思是,哪个用户正在运行调用 RPC 方法的进程)
midl - 如何使用 MIDL 生成 x86 和 x64 代码?
如何使用 MIDL 为 x86 和 x64 生成代码?
我在 Visual Studio 2010 中创建了一个 IDL 文件,当我在 x86 模式下编译产品时,然后在 x64 中编译产品时,我必须“触摸”该 IDL 文件,以便它重新生成与 x64 相关的代码。我可以以某种方式告诉 MIDL 将两个代码生成到同一个文件中吗?
c# - 在 IDL 库中包含 C# 接口
我在 C# 中定义了一个接口,例如:
我想将它包含在 IDL 中定义的库中。我试图通过从 C# 接口生成一个 .tlb 并将其包含在 importlib 中来实现这一点。但是,当我编译我的 idl 文件时,我在我的库中没有看到这个接口,但是我通过导入他们的 idl 文件看到了我在这个库中定义的所有其他接口。
总之,我想知道:
- 是否可以在 IDL 库中包含 C# 接口?
- 如果是这样,我该怎么做?
欢迎所有答案。提前感谢您提交的任何答案。
visual-c++ - 创建从另一个(简单)继承的简单接口时出现错误 MIDL5004
我有以下非常简单的接口:
当我尝试为 WinRT 编译此 MIDL 时,我收到以下错误:
错误MIDL5004:接口必须从 IInspectable 继承:ICitizen
我真的很困惑在 WinRT 下 COM 变成了什么!如果从另一个接口继承这样简单的事情不再可能,我们如何设计应用程序?
我已经搜索了 WinRT 的 MIDL 的文档,但我找不到它!更好的是在谷歌上搜索错误 MIDL5004 没有显示任何结果!
Microsoft 的任何人都可以解释如何创建一个从另一个继承自 IInspectable 的接口继承的接口。在另一个测试中,我使用 C++/CX 创建了相同的接口,并且能够创建一个继承自 IPerson 的 ICitizen 接口。为什么 WinRT 的 MIDL 不再允许这样做,这是 COM 体系结构的基础,创建了接口层次结构。
感谢您的投入 O. Rouit
com - 如何通过 COM InterOp 访问暴露多个接口的 CoClass?
我有一个 CoClass,描述如下:
所以我的问题是:
- 为什么
tlbimp
只暴露IFoo
接口,同时oleview.exe
显示两个接口? tlbimp
只公开[default]
接口,为什么?(根据 MSDN[default]
“旨在供宏语言使用。”)- 如何在 MIDL/COM 中建模这种情况?我应该使用关联而不是继承吗?