com相关内容

如何通过引用将数组从C#传递到非托管COM(VT_BYREF)

我有一个用C++编写的COM组件,我不能更改其源代码,它的一个方法的参数之一是VARIANT *pParamArray。使用tlbimp,我可以为其创建托管存根,并将C#中的数组传递给它。 遗憾的是,COM组件期望通过引用传递其数组-有对pParamArray->vt != (VT_BYREF | VT_ARRAY | VT_VARIANT)的显式检查,如果未通过该检查,则返回错误。 ..
发布时间:2022-08-13 22:14:21 C#/.NET

扩展MIDL接口和COM对象设计

我读过COM Programmer's Cookbook中详细介绍的各种COM设计模式,以及一些相关的SO线程,特别是the thread discussing composition vs. multiple inheritance。可能是因为我对C++和COM都太陌生了,我可能错过了各种来源中的观点,所以我的问题是用一句话来表达的: 我是否可以扩展由MIDL生成的接口以供DLL内部使用, ..
发布时间:2022-07-16 13:17:46 其他开发

在Firefox或Chrome中运行COM对象

这个问题以前被问过很多次:如何在Internet Explorer以外的其他浏览器中运行COM/ActiveX控件。答案就是“不!重写你的代码。这是不推荐的,安全问题”等等。 但是,我处于无法选择的情况。 我工作的公司有一个我们自己开发的基于Web的CRM系统。现在我们想给它添加电话功能。拨打、挂断、接听等。我们选择的PBX供应商在每台PC上安装了软件,允许通过COM对象调用此功能。 ..
发布时间:2022-07-16 13:11:11 前端开发

DllGetClassObject返回&;不支持这样的接口,而CoCreateInstance发现它成功了

我想在没有注册的情况下使用库“sqlceoledb35.dll”来处理.sdf db文件。我知道此DLL是一个COM DLL,并在ADO中使用。 但是我无法获取目标接口,它返回错误“没有这样的接口支持”。 代码如下: CoInitialize(nullptr); HMODULE hmod = CoLoadLibrary((L"sqlceoledb35.dll"), tr ..
发布时间:2022-04-15 14:52:06 C/C++开发

从子COM对象获取父COM对象

ID3D12GraphicsCommandList接口继承自ID3D12CommandList。那么,如果我有一个ID3D12GraphicsCommandList对象,我如何获取相应的ID3D12CommandList对象? 类型转换是否有效? ID3D12GraphicsCommandList *gcl = ...; ID3D12CommandList *cl = ..
发布时间:2022-03-24 15:58:27 其他开发

如何获取已注册的COM接口的IID?

我知道我可以从ClassesCLSID@的注册表中的COM类对象中读取CLSID。 我怀疑在注册的COM接口上可以从ClassesIID@或ClassesCLSIDIID读取IID。 我已经阅读了COM IDs & Registry keys in a nutshell这篇文章,这个问题仍然对我悬而未决。很遗憾,我现在没有测试用例。 ..
发布时间:2022-03-04 11:24:58 其他开发

我可以用VB6连接.NET5COM互操作对象吗?

我一直在研究.NET Core COM互操作和how to expose them。 虽然我在得出结论和理解一些概念方面有一些问题。 我的老板告诉我,他们做了一些测试,他们认为创建可从VB6内部调用的C#代码(包括事件)的唯一方法是创建.NET Framework项目,因为它在.NET Core 3.1中不可用(目前他们必须使用此功能)。 但是看到前面提到的页面并做了更多的研究,我确实 ..
发布时间:2022-02-24 09:13:08 C#/.NET

使用 Python 和 comtypes 使用数组设置 Excel 范围?

使用comtypes来驱动Python,它似乎在幕后发生了一些魔法,它没有将元组和列表转换为 VARIANT 类型: # RANGE(“C14:D21") 有值# 使用 Variant 在范围上设置值应该可以,但是# 列表或元组似乎没有正确转换>>>从 comtypes.client 导入 CreateObject>>>xl = CreateObject("Excel.application") ..
发布时间:2022-01-24 20:13:37 Python

由于以下错误,检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:8000401a

检索 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:8000401a. 我们在 SharePoint 场环境中托管的生产服务器上遇到了上述错误,因为无法从独立服务器的登台服务器上重现相同的问题. 我希望,当 Microsoft.Office.Word 组件从远程机器访问时会抛出上述错误.我已经 ..
发布时间:2022-01-21 11:11:08 其他开发

Linux/UNIX 中的 COM 编程模拟

组件对象模型 (COM) 是(或曾经...)在 Windows 中提供语言中立的软件组件的方式. 在 Linux/UNIX 中是否有任何编程模型具有通过二进制组件重用代码的相同理念? 解决方案 Sun RPC 应该是成为那样.然后是 CORBA.然后是 GNOME Bonobo 和 KDE DCOP.现在看来 D-Bus 是最新时尚. ..
发布时间:2022-01-21 10:58:53 服务器开发

第三方代码正在修改 FPU 控制字

介绍 - 冗长而无聊的部分 (问题在最后) 我对不断更改 FPU 控制字的第三方 COM 组件感到非常头疼. 我的开发环境是Windows和Visual C++ 2008.正常的FPU控制字指定在各种情况下都不应该抛出异常.我已经通过查看 float.h 中的 _CW_DEFAULT 宏以及在启动时查看调试器中的控制字来验证这一点. 每次我调用 COM 对象时,控制字都会在 ..
发布时间:2022-01-21 10:55:57 其他开发

使用 UPnP InvokeAction 获取 IP 地址不返回任何内容,帮助?

基本上,当我使用 vb.net 或 c#.net 来执行此操作时,它可以完美运行,但是当我使用 vb6 时,它不起作用,在我的 for 循环中,相关设备中的相关服务被捕获,这是不返回结果的代码... ' serv 由 for 循环正确声明和实例化.点心(0)调暗 xouts(0)MsgBox ("Starting..." & serv.ServiceTypeIdentifier & vbCrL ..
发布时间:2022-01-20 19:38:24 C#/.NET

在自己的应用程序中包含 Microsoft Office 拼写检查器

我不久前听说Microsoft Office Spell Checker 可以通过它的COM 接口包含在自己的应用程序中.有人记得细节吗?它是哪个 dll 或哪个 ActiveX 对象? 解决方案 一个月前我一直在调查这个问题.似乎这是可能的,但如果我记得自 Office 2003 以来可嵌入的 COM 组件已被删除.如果你想这样做,你将不得不寻找旧版本.不幸的是,我没有任何链接,但我花了 ..
发布时间:2022-01-20 19:35:01 其他开发

如何将字节数组作为 UDT 属性从 VB6/VBA 传递到 C# COM DLL?

我有一个尝试向 VBA 公开的 C# 库.我可以很好地将参数传递给函数(即“ref byte[] someArray"),但是传递对象或结构就行不通了. 如果我尝试将字节数组作为类的属性传递,我会在 VB 中收到以下错误- 函数或接口标记为受限,或函数使用 Visual Basic 不支持的自动化类型 如果我尝试将字节数组作为结构的属性传递,我会在 VB 中收到以下错误- ..
发布时间:2022-01-20 19:34:41 C#/.NET

跟踪在从 VB6 EXE 加载的 .NET DLL 中不起作用

我有一个写入 Trace 的 .NET DLL.但似乎当我从 VB6 EXE 调用我的 DLL 时,跟踪不起作用. 我在 EXE 文件夹中创建了一个 myApp.config 文件,其中包含跟踪配置,但这并不能解决问题. 我也尝试在代码中创建 Trace 对象,但不起作用: Dim _traceSrc As TraceSource = New TraceSource("myTrace ..
发布时间:2022-01-20 19:27:48 C#/.NET

带有 32 位 VB6 COM 对象的 64 位 C#

我有一个 32 位进程内 STA VB6 dll.很遗憾,我对此无能为力.我的 C# 组件极大地受益于 64 位.无论如何从我的 64 位进程调用/接口这个 32 位 dll 吗?任何形式的包装或任何东西? 解决方案 没有直接的方法可以做到这一点. 由于您无法移植 VB6 inproc dll,我建议您编写一个 32 位进程外服务器,该服务器实现相同的接口并将其委托给 VB6 代码. ..
发布时间:2022-01-20 18:43:41 C#/.NET

为什么使用 DirectoryEntry 对 LDAP 进行身份验证会间歇性地抛出 COMException (0x8007203A):“服务器无法运行"?

如果有人有类似的故事,请在下面发布详细信息! 我正在构建一个 ASP.NET 网站,它需要支持针对 LDAP 的身份验证. 在 Windows 上,可以通过 Active Directory 执行 LDAP 身份验证(我不是专家,但 AD 似乎只是 ldap 的一种特殊形式).我不控制 AD 和/或 LDAP 服务器. 我尝试了各种身份验证方法,但我决定每次身份验证尝试使用单个 ..
发布时间:2022-01-17 19:35:45 C#/.NET

在不使用 GAC 的情况下向 COM 注册托管程序集

我想知道是否可以在不向 GAC 注册的情况下向 COM 注册程序集.我们需要使用 CCW 部署一些暴露给经典 asp 的 .net 库.但是部署是一场噩梦. 解决方案 是的,使用 regasm.exe 和 /codebase 键.当您使用 regasm.exe 而不使用 /codebase 时,它只会将程序集的文件名写入注册表,因此 .NET 运行时无法找到它,除非程序集位于GAC.使用 ..
发布时间:2022-01-16 16:06:38 C#/.NET