草庐IT

schemas-microsoft-com

全部标签

windows - 有没有办法减少与进程外 COM 调用相关的开销?

我们的程序使用了一个进程外的COM服务器,并对其接口(interface)进行了数千次调用。这需要非常非常长的时间——大约50k次调用需要一分钟。COM组件供应商表示调用本身非常快,问题在于与进程外调用相关的开销。在这种情况下,是否可以进行任何调整以减少开销? 最佳答案 我真的不认为没有供应商的帮助可以做很多事情。因为从本质上讲,进程外的com对象将比进程内的对象需要更多的编码等。如果您能让供应商提供帮助,有两种可能的选择。请他们为您提供进程内版本(dll),然后您可以将其托管在COM+中并生成多个实例(如果合适),这可能会有所帮助

windows - 在所有未使用的情况下,进程外 COM 服务器最终是否应该停止?

我发现一个进程外的COM服务器以这样的方式实现(据推测是由于错误),如果客户端调用CoGetClassObject()然后从不尝试用服务器检索到的工厂实例化任何东西进程永远运行。COM服务器不是作为服务启动的,它是一个普通的可执行文件。在描述的场景中,客户端不会调用IClassFactory::LockServer(),所以这个问题是要完全忽略那些“服务器锁”。这是正确的行为吗?进程外COM服务器是否应该在一段时间内没有为对象提供服务后始终停止,或者是否应该存在进程外COM服务器即使不为任何对象提供服务也应该连续运行的情况? 最佳答案

c++ - 从 COM 类继承

我在VisualStudio2005中处理纯非托管项目(C++)。我在OCX文件中有一个来自第三方的COM类。此类是一个控件(“小部件”)。我一直在通过使用Typelib向导中的添加类生成的IDispatch包装器类来使用它。我想以几种方式扩展此类,公共(public)继承比组合更实用(我希望派生对象公开父类执行的每个方法)。派生类也应该作为COM组件提供。我可以这样做吗?如果是肯定的,我该如何实现? 最佳答案 不能像在C++中那样从COM类继承。不过有一些解决方法:COMAggregates转发COM聚合仅在您想要向现有COM类添

windows - COM dll 不再注册

我正在尝试注册一家公司发送给我的COMdll,用于与他们的其中一台设备通信。我以前能够在这台计算机上注册它,但几天前它开始抛出错误,所以我注销了它,现在将它传递给regsvr32.exe失败了"ThemoduleIRAnalyzerCOM.dll"failedtoloadMakesurethebinaryisstoredatthespecifiedpathordebugittocheckforproblemswiththebinaryordependent.DLLfilesThespecifiedprocedurecouldnotbefound我试过用depends.exe打开regs

windows - 如何在 Windows Server 2012 操作系统上安装 Microsoft 的 AppFabric 1.1?

我一直在尝试使用从here下载的WindowsServerAppFabricSetup_x64.exe在装有WindowsServer2012操作系统的机器上安装AppFabric1.1。:在尝试这个过程中,我遇到了各种各样的问题。这些是我到目前为止采取的步骤,每一步似乎都让我更接近,但我还没有到达那里。在尝试安装之前确保WindowsUpdate服务已启动并正在运行。确保PSModule环境变量没有问题。我看过一些与此问题相关的帖子,以及最简单的解决方案(但可能不是最好的)我发现是完全删除环境变量。如需引用,请查看LucasMassena于2012年7月13日发表的帖子->socia

c# - Microsoft.CSharp 库中的 BadImageFormat 异常

从8切换到Windows8.1后,我在运行C#应用程序时遇到了一些问题。问题是我从标题中得到了这个异常(exception),在线帮助不多。我试图找出问题所在,我的x64应用程序似乎正在尝试调用x86CSharp库。项目中的引用导致一个DLL文件,在调用带有/headers参数输出的x64dumpbin程序时:DumpoffileMicrosoft.CSharp.dllPEsignaturefoundFileType:DLLFILEHEADERVALUES14Cmachine(x86)3numberofsections4FFA5C64timedatestampMonJul0906:21

c++ - Microsoft 系统可执行拷贝差异

我一直在探索Windows系统文件的来龙去脉,并注意到一个奇怪的事情:如果我执行Windows系统的低级按位复制可执行到我选择的目标位置生成的文件小于原来的。例子:我写了一个小程序来复制无处不在的calc.exe可执行文件...C:\test>copyitc:\windows\system32\calc.exec:\test\calc.exe这是生成的文件:C:\test>dirVolumeindriveCisOSVolumeSerialNumberisDEAD-BEEFDirectoryofC:\test02/08/201403:37PM.02/08/201403:37PM..02/

c++ - 未处理的异常 Microsoft C++ 异常:cv::Exception at memory location

我刚开始使用OpenCV。我下载了OpenCV2.4.9,并安装了MSVS2010。我的Windows是X64。我遵循了以下步骤:一个。在ConfigurationProperties下,单击Debugging->Environment并复制粘贴:PATH=C:\opencv\build\x86\vc10\binVC++目录->包含目录并添加条目:C:\opencv\build\includeVC++目录->库目录并添加条目:C:\opencv\build\x86\vc10\libLinker->Input->AdditionalDependencies并添加以下内容:opencv_c

windows - 运行 cmd.exe 时避免显示 Microsoft 版本

如果我有一个批处理文件,并且我希望阻止它关闭(因此允许用户使用修改后的路径运行命令),通常会以cmd.exe结束该批处理文件。但是,这条恼人的消息会扰乱我的批处理文件输出:MicrosoftWindows[Version6.1.7601]Copyright(c)2009MicrosoftCorporation.Allrightsreserved.是否有其他方法可以让窗口保持打开状态,或者在我运行cmd.exe时阻止此文本出现? 最佳答案 我假设您正在通过双击或快捷方式运行批处理脚本。一个选项是创建快捷方式并将目标从c:\yourPa

windows - Windows PC 上的 COM 端口指示比特率或波特率?

如果您在互联网上搜索,您可以轻松找到解释COM/串行/RS232端口各种属性的网站、谷歌图片以及许多(YouTube)视频。就我所关心的大多数而言,他们指出在COM端口对话框中可以看到波特率(而不仅仅是在Windows操作系统中),例如here,here甚至在Sparkfun上here.这显然是错误的,因为它明确说明了比特率。这也是我的Windows8.1PC的图像:而且我们知道比特率与波特率不同。我也无数次听到人们,例如在youtube视频上谈论在WindowsPC上搞乱“波特率”。现在我很困惑。这里发生了什么。它清楚地说明了比特率,不是吗?我错过了什么吗?