我想在我的C#应用程序中使用MFC Dll。它基本上是一个更容易与硬件设备连接的代理。 我正在使用P/Invoke编写一个包装类,以便能够使用dll中定义的方法。C++中等效数据类型的C#
- 我是相当新的P/Invoke的东西。它会继续工作吗?我无法经常测试它,因为我没有可用的硬件在我的开发机器上进行测试。
- 请问我可以引用一个C#中具有等效数据类型的C++页吗?当变量旁边有一个*时,我应该使用什么类型?像
double *
,ULONG *
,int *
ULONG WINAPI PCXUS_Open(ULONG *hPCXUS, int boot)
ULONG WINAPI PCXUS_WRITE(ULONG hPCXUS, int Board, int Test, int Unit,
LPCSTR strParam, double *dblValue, double dblArrayValue1[MAX_ROW],
double dblArrayValue2[MAX_ROW], LPSTR StrValue, int *Clipped)
最后,我应该如何界定,在他们的定义括号变量?像:
double dblArrayValue1[MAX_ROW]
,double dblArrayValue1[MAX_ROW]
更新:这是第二个方法的定义:
Arguments:
hPCXUS //Your access number (see PCXUS_Open function)
Board //Board number (0 to N)
Test //Test number (0 to 7) (only for USPC with MUX extension)
Unit //0 = µs ; 1 = mm ; 2 = inch
StrParam //Pointer to parameter name (see the list)
DblValue //Pointer to parameter value
DblArrayValue1 //Parameter data array 1
DblArrayValue2 //Parameter data array 2
StrValue //ASCII parameter value
Clipped //Pointer to clip information
谢谢。这帮助我很多。我更新了我的问题。你能否看看一些观点并为我提供一些启示? Plus:这是第一个函数的正确实现吗? '公共静态外部UInt32 PCXUS_Open(参考UInt32 hPCXUS,诠释引导);' – Kamyar 2011-03-01 19:06:27
我的答案仍然是准确的。用完了。 – 2011-03-01 19:14:03
非常感谢Hans。 – Kamyar 2011-03-01 19:15:20