【发布时间】:2011-03-01 18:47:45
【问题描述】:
我正在尝试在我的 C# 应用程序中使用 MFC Dll。它基本上是一个更容易与硬件设备连接的代理。 我正在使用 P/Invoke 编写一个包装类,以便能够使用 dll 中定义的方法。
- 我对 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
【问题讨论】:
标签: c# mfc casting types pinvoke