我正在尝试通过COM界面向应用程序发送一些数据,但我不理解文档。
根据以下定义,如何在com接口上向此方法发送字符串?
A Windows COM interface that can be used with most single and multithreading Windows application development environments and languages. It does not have any initialization or finalization routines.
Interface: IXXXXXXTrans
Flags: (4416) Dual OleAutomation Dispatchable
GUID: {A1AED31D-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
IXXXXXXTrans = interface(IDispatch)
['{A1AED31D-XXXX-XXXX-XXXX-XXXXXXXXXXXX}']
function FunctionName(const value:WideString):WideString; safecall;
end;
这是"文档"
的全部内容我查看了MSDN中的一些文档,这些文档似乎不适用。
我在文档中没有任何对dll的引用,并且应用程序开发人员无法提供任何帮助。
我查看了许多提供的链接,他们似乎没有解决这种情况,因为他们中的许多人都认为你可以控制服务器和客户端。我只有客户端和有限的文档,服务器不是.NET DLL,所以我不能将它添加为参考。
我尝试过使用此代码:
Guid testCLSID = new Guid("A1AED31D-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
Type testType = Type.GetTypeFromCLSID(testCLSID, true);
IXXXXXXTrans testTrans = (IXXXXXXTrans )Activator.CreateInstance(desktopType);
testTrabs.FunctionName("Yes");
返回
Retrieving the COM class factory for component with CLSID {A1AED31D-876C-4AA3-AF60-3560062660DF} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
我还使用tlbImp来获取一个用ildasm查看的dll,但我不确定从那里去哪里