草庐IT

c++ - 通过 IIS 应用程序池 w3wp.exe 调用 COM DLL 时未调用 DLL_THREAD_ATTACH

我在我的COMDLL中收到一些DLL_THREAD_ATTACH通知,但没有来自实际调用我的COMDLL的应用程序池工作线程。随后,从IIS发起的对DLL的调用到达从未调用过DLL_THREAD_ATTACH的线程。当DLL附加到dllhost.exe(通过DLL_PROCESS_ATTACH)时,仅通知应用程序池的第一个线程。这是缺陷还是功能,是否有任何解决方法? 最佳答案 DLL_THREAD_ATTACH经常被误解。您没有提供足够的信息,但您的问题很可能是由于此造成的:来自MSDNdocumentation,强调我的:DLL_

node.js - Nodejs OLE-COM 服务器

我正在使用win32ole访问WindowsPC中的COM-OLE(自动化)绑定(bind),例如excel、word等。现在我想要的是使用nodejs实现一个COM-OLE服务器。我似乎找不到任何支持这些的nodejs模块。最后,我只需要将COM-OLE对象/接口(interface)暴露给PC内运行的任何应用程序,以便它们可以访问我的应用程序。谢谢,顺便说一句,我正在使用Electron.js。 最佳答案 因为win32ole似乎只作为客户端运行,所以您遇到了以下两种情况之一:用C++实现您自己的COM服务器(nan有助于Nod

c# - 64 位服务器中的 ASMX 到 COM 调用

我正在尝试从IIS8.5和WindowsServer201264位服务器中托管的ASMX网络服务调用COM库方法(COM互操作性)。但是调用没有响应。我做了以下更改以确保我们进行正确的设置1。为应用程序池设置启用32位application=true2。在以下位置注册COMC:\Windows\System32&C:\Windows\SysWoW643。尝试将web服务项目编译为目标X86配置4。将Web服务的执行超时更改为10分钟5。是否设置了适用于我的Windows应用程序的应用程序池标识但是以上都不行。Justtoverify.NetandCOMcommunication,Iha

c++ - 是否可以在不在注册表中注册的情况下创建和使用 COM 类?

我需要制作一个最终看起来类似于此的自定义COM对象:staticconstGUIDIID_ClientCommunicator={0x5219b44a,0x874,0x449e,{0x86,0x11,0xb7,0x8,0xd,0xbf,0xa6,0xab}};staticconstGUIDCLSID_ClientCommunicator={0x5219b44b,0x874,0x449e,{0x86,0x11,0xb7,0x8,0xd,0xbf,0xa6,0xab}};classATL_NO_VTABLECClientCommunicator:publicCComObjectRootEx

windows - 线程 "main"com.jacob.com.ComFailException : Can't co-create object 中的异常

我正在学习本教程:http://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-functionality/在Windows中自动化非浏览器应用程序。importjava.io.File;importautoitx4java.AutoItX;importcom.jacob.com.LibraryLoader;importjava.lang.System;publicclassCalcTest{/****ReturnsiftheJVMis32or64bitversion*

c++ - 在同一个 DLL 中使用 _COM_SMARTPTR CreateInstance 而无需注册

我目前正在尝试编写一个DLL,它使用在系统中注册的Typelib(.tlb)。此Typelib要求我使用自己的类实现两个接口(interface),并在运行对象表中注册其中一个,这是我在使用VisualStudio2015的ATL项目中完成的。使用我的DLL的应用程序应该完全不了解COM,一切都应该在幕后工作并隐藏在我正在实现的DLL中。在我的DLL中,有时我试图获取类MyClass的实例,它实现了上面提到的类型库的COM接口(interface)。代码如下所示:IInterfaceClassPtrdataPtr;hr=dataPtr.CreateInstance(CLSID_MyCl

asp.net - ASP/ASP.Net 中的 DNS 查询

我的Windows服务器间歇性地失去了查找DNS信息的能力。我试图找到问题的根本原因,但与此同时我希望能够监控服务器是否可以执行查找。基本上,它应该尝试查找一些常见的主机名,如果查找成功则显示“成功”。我看到很多使用ASP中的第三方组件执行此操作的示例,但我更希望能够使用一个可移植的ASP/ASP.Net脚本来执行此操作,并且不需要安装任何额外的东西。 最佳答案 你可以简单地做:if(Dns.GetHostAddresses(hostName).Length==0){//Hostcouldnotberesolved}

.net - 如何从dns域名中获取short "domain name"?

如果我对这个主题的理解有一些不足,请原谅我,我只知道我对域和事件目录的了解,因为我从与他们一起工作中学到了什么。域名有两个不同的“版本”。第一个是我所说的DNS域名,类似于company.int(对于用户max@company.int),第二个类似于prefixname(对于用户prefixname\max),它们指的是同一事物。我的问题是,给定“company.int”,如何将其转换为“prefixname”?编辑:或者给定一个System.DirectoryServices.ActiveDirectory.Domain对象,我如何获取前缀名?EDIT2:此外,“prefixname

Windows DNS Hook

Windows如何解析DNS以及我如何拦截调用以注入(inject)我自己的域?我在应用程序中需要这个,运行我自己的DNS服务器或修改主机文件不是解决方案。 最佳答案 我不确定您的目的是什么,但有多种选择。CodeProject包括可能对您有帮助的内容。它似乎在做你需要做的事情。现在,另一个解决方案可能涉及您自己的一些工作,这些工作可能不适合该项目。首先,您需要弄清楚以下是否function负责在您要修改的应用程序中进行DNS查找。下一阶段基本上是自己实现CodeProject代码,使用MicrosoftDetours设置全局Hoo

windows - 如何在没有路由器/DNS 的情况下使用以太网将 2 台 PC 快速连接在一起

在现场,我经常需要使用我的(主机)笔记本电脑上运行的Delphi开发IDE在目标PC上执行远程调试。因为我不能使用任何预先存在的网络地址基础设施,所以我使用交叉网络电缆直接连接两台PC。然后我为这两个设置手动IP地址(比如)100.100.100.1和100.100.100.2,经过多次重新启动和摆弄后,我得到了我需要的共享文件夹。最后,在以这种方式工作之后,我必须小心地将事情恢复到原来的样子。虽然这很痛苦。有很多打字和错误的余地。此外,共享可能需要一段时间才能变得可见。有什么方法可以让我运行一些东西(或编写脚本)来以任何方式简化这个过程吗? 最佳答案