草庐IT

com-interop

全部标签

您的计算机已被[datastore@cyberfear.com].mkp勒索病毒感染?恢复您的数据的方法在这里!

导言:在数字化时代,网络安全问题愈发严峻,而[datastore@cyberfear.com].mkp[henderson@cock.li].mkp[myers@airmail.cc].mkp勒索病毒正是其中一个颇具威胁的恶意软件。本章将深入剖析[datastore@cyberfear.com].mkp[henderson@cock.li].mkp[myers@airmail.cc].mkp勒索病毒的传播途径、攻击手段以及最新变种的特征,让我们更全面地了解这一网络威胁。当面对被勒索病毒攻击导致的数据文件加密问题时,您可添加我们的技术服务号(sjhf91)。我们将为您提供专业、快速的数据恢复技术

c++ - 如何通过 COM 公开通过结构化异常处理捕获的异常?

我用VisualC++实现的COM服务器使用了大量其他C++代码。其他C++代码有时会将代码包装在__try-__except中,并将结构化异常转换为自定义C++异常。这部分我无法更改。我的COM服务器的任何方法都不应该让这些异常通过COM边界传播,因此它必须捕获它们并将它们转换为HRESULT。这些自定义C++异常包含在翻译过程中获得的原始错误代码-它类似于EXCEPTION_ACCESS_VIOLATION。问题是我如何设计一个合适的HRESULT值,以便客户端在看到一个访问冲突)。假设它是在WinBase.h中定义的EXCEPTION_ACCESS_VIOLATION#defin

c++ - 通过COM将自定义接口(interface)类型的SAFEARRAY返回给VB6

是否可以从C++COM函数(VC6)向VB6客户端返回一组已定义的接口(interface)对象?我已经在网上搜索过,但没有找到任何描述我需要做什么的内容。我已经看到很多传递BSTR和VARIANT类型,但我需要一些方法让客户端实际使用我在数组中返回的接口(interface)类型。我认为我需要做的事情-使用安全阵列-使用具有VT_UNKNOWN类型的SAFEARRAY,这反过来意味着我需要将对象作为IUnknown对象放入数组中。从这里开始我就难住了。是否可以在VB6中解释IUnknown类型,并以某种方式将其转换为我需要的类型?还是我以完全错误的方式解决这个问题......澄清:放

c++ - 如何为 COM 接口(interface)中的方法生成弃用警告 (c++)

在我工作的地方,我们使用的是“类COM”模型,因为我们通常遵循COM规则,但不执行MIDL编译,也不针对c/c++以外的其他语言。因此,我知道我总是可以改变规则以满足我的需要,但我尽量不这样做,因为我们可能希望有一天能够真正兼容COM,如果那一天到来,我们希望它尽可能轻松。我想在任何人使用特定接口(interface)的特定方法编译代码时打印警告。在c++中(我们只支持微软编译器),我们会在函数声明前加上__declspec(deprecated)来达到我们的目的。我可以只将它添加到我的接口(interface)方法声明之前,还是有更好、更COM的方法来做到这一点?我还想知道是否仅在方

c++ - VS COM 项目在 32 位编译但在尝试编译 64 位时抛出错误 C2259

您好,我目前正在运行VisualStudio2010,并且有一个上下文菜单shell扩展在32位机器上完全以32位运行,因此所有方法都存在。这是一个ATL项目。32位上没有错误甚至警告。问题来了。当我进入visualstudio下的配置管理器并将事件解决方案平台从Win32切换到x64并尝试编译时,我收到错误“错误C2259:'ATL::CCOMObject:无法实例化抽象类”。既然这个完全相同的项目确实在32位编译和运行,为什么它会抛出x64的错误?任何想法或正确方向的观点将不胜感激。需要实现的主要方法如下:STDMETHODIMPInitialize(LPCITEMIDLIST,L

c# - 今天创建 COM 组件的最佳方法是什么?

我想为我的宠物项目创建一个桌面COM对象。我对COM没有任何经验,快速搜索显示ATL会简化事情。我想知道今天是否有更好的方法来创建COM组件。从某种意义上说更好的是更少的样板,使用C#而不是C++以及您可能想到的任何其他东西。 最佳答案 如果在客户端机器上部署或依赖.NETFramework安装对您来说不是问题,那么C#比C++容易得多(尽管您可能必须重新声明接口(interface)、IID等...在C#中,使用P/Invoke)。如果减少依赖性是一个问题,那么带有ATL的C++更好。

fatal: unable to access ‘https://github.com/Mrrrrr.git/‘: Failed to connect to github.com Time out

解决fatal:unabletoaccess‘https://github.com/Mr.git/’:Failedtoconnecttogithub.comport443after21046ms:Timedout的问题问题:准备向github上push写的项目代码时,一直出现这个错误,无法push。原因:连接不到github的网站目录解决fatal:unabletoaccess'https://github.com/Mr.git/':Failedtoconnecttogithub.comport443after21046ms:Timedout的问题1.因为代理的问题,请看这里2.ping不到i

c++ - 如何在 Visual Studio 2012 中创建 HelloWorld COM Interop

首先,我是COM的新手,目前很困惑。我在MSDN和一般网络上阅读了很多关于COM的文档,但其中很多似乎已经过时且过于复杂。以下是我认为让它发挥作用所必需的。还没有,所以我确定我遗漏了一些东西,但是通过提供我的食谱,我希望有人能发现问题:创建一个C#控制台应用程序项目。我将其命名为CSharpApp创建一个C++ATL项目。我称之为ComLib.Interop。添加类(模板:ATLSimpleObject),我称之为“InteropDemo”在类View中,右键单击IInteropDemo并添加方法HelloWorld。(已删除,保留以确保答案中的编号正确。)编译。将对ComLib.In

c# - 在 .NET 中调用 COM 枚举器的正确方法是什么?

我正在调用一个外部提供的COMDLL,我已经为其生成了一个COM互操作包装器。为了便于争论,让我们调用我要调用的接口(interface)IEnumFoo。IEnumFoo具有典型的COM枚举器模式:HRESULTNext(ULONGcelt,IFoo**rgelt,ULONG*pceltFetched);其中第一个参数是期望结果的数量,第二个参数是写入结果的缓冲区,最后一个参数描述了实际写入的结果数量。当我选择“添加引用”并将VisualStudio指向此DLL时,它会生成一个具有以下签名的COM互操作程序集:voidNext(uint,outIFoo,outuint)这只允许.NE

c# - Interop.xxxxx.dll 是如何生成的?

我最近接手了一个项目,对VSCOM经验不多,所以如果我问的问题不正确,请原谅我..我有一个生成COMdll的C++项目,我们将其命名为abc.dll。我有另一个引用COMdll的C#项目,但是在引用下,它指向Interop.abc.dll。我删除了目录中的所有abc.dll和interrop.abc.dll以查看项目将如何react,在启动项目时,会自动生成interop.abc.dll。这让我很困惑,因为我不知道interop.abc.dll是如何生成的。所以这是我的问题:如果生成此文件,C#项目最初如何引用interop.abc.dll?如果没有abc.dll开头(我没有构建它),