2015-04-17 102 views
-1

我需要从另一个公司代码加载.dll文件才能调用其功能。但是,当我不知道如何设置变量时,如何加载它?该dll文件是“Interop.OphirLMMeasurementLib.dll”,这是从数据表中删除。Visual C++如何从其他公司加载.DLL

“的OphirLMMeasurement COM对象跟随从它的方法返回一个HRESULT的标准COM实践 该HRESULT可以被传递到 GetErrorFromCode得到一个描述字符串,或标准的COM GetErrorInfo函数可以被调用(请参阅 环境的文档)。某些客户端环境(如VB6和所有.NET 语言)不会从方法调用中返回此HRESULT;而是在方法返回失败HRESULT时引发异常 。通常在其中包含错误号和 描述性字符串

---------- 


3.3 Methods and Events 

3.3.1 Device Communications 

关闭

CLOSEALL

GetKnownWirelessDevices

OpenUSBDevice

OpenWirelessDevice

ResetAllDevices

ResetDevice

ScanUSB

ScanWireless

那么,如何调用ScanUSB从这个功能.dll文件?

+0

他们没有提供一个头和导入库的DLL?后者你并不严格需要,但似乎有帮助,他们至少会提供前者。您可能需要检查DLL进来的软件包。 – WhozCraig

+0

Interop库是用于.NET程序的。在本机C++中,您必须使用#import指令来导入类型库。通常嵌入在DLL中。用C++编写COM客户端代码有一个学习曲线,你最好使用.NET语言。 –

+0

他们没有提供任何头文件和导入库方法,但他们确实提供了一个可用的VB,Csharp,matlab和labview,这些我都不熟悉。我被赋予只使用C++而没有其他语言的任务。 – Shaunyong

回答

0

重要的字是COM。对于组件对象模型来说,这是微软在对象上调用方法的语言中立机制。

在这种情况下,ScanUSBOphirLMMeasurement类型的对象上的方法。我不知道从这一点如何得到这样一个对象 - CreateInstance是可能的方式。我怀疑OpenUSBDevice将是必要的,然后在ScanUSB之前。但是我们也需要知道这些论点,并且忽略了文档的这些部分。

+0

他们提供的唯一文档就是这样。 https://www.dropbox.com/s/m6i8z6exfoa1swv/OphirLMMeasurement%20COM%20Object.pdf?dl=0 我必须使用C++语言 – Shaunyong