首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#调用C++dll 函数变量转化有关问题,

2012-04-12 
c#调用C++dll 函数变量转化问题,在线等~先做一项目 因为要用到C++写的dll的接口函数:对函数变量的转换实在

c#调用C++dll 函数变量转化问题,在线等~
先做一项目 因为要用到C++写的dll的接口函数:
对函数变量的转换实在是晕头了,请教各位大神了
下面举例列一个函数:
HQDL_API HqDLInitialize(
IN LPCTSTRpFilterName,
OUT int*pIndex,
IN CapInfoStruct *pCapInfo,
OUT HANDLE*hCamera
);
参数: pIndex返回摄像头索引
pFilterName保留
pCapInfo初始化摄像头参数 
hCamera返回给调用者的设备句柄
CapInfoStruct结构定义:
struct CapInfoStruct 
{
UCHAR*Buffer;// 用户分配,用于接收采集的原始数据8bit
ULONGHeight;// 采集高度
ULONGWidth;// 采集宽度
ULONGOffsetX;// 水平偏移
ULONGOffsetY;// 垂直偏移
ULONGExposure;// 曝光值 1-500MS
UCHARGain[3];// R G B 增益 1-63
UCHARControl;// 控制位
UCHARInternalUse;// 用户不要对此字节进行操作
UCHARColorOff[3];// 用户从外面不要改变此数组的值,要调用EnableColorOffset来改变
UCHARReserved[4];// 保留位
};
此函数 为需要调用的c++里dll的函数;
public class formload
{
  //[DllImport("MyDLL.dll")] 
  [DllImport("HQDLAPI.dll")]
  public static extern HqDLInitialize(1,2,3,4);
}
问题主要是在调用时参数对应方法不会,请指教!分数不多,但已经是全部了!


[解决办法]

C# code
HQDL_API HqDLInitialize(    IntPtr     pFilterName,out ref int pIndex,    ref CapInfoStruct pCapInfo,out ref IntPtr hCamera);    参数: pIndex     返回摄像头索引pFilterName     保留pCapInfo     初始化摄像头参数  hCamera     返回给调用者的设备句柄CapInfoStruct结构定义:public struct CapInfoStruct  {string Buffer;     // 用户分配,用于接收采集的原始数据8bitULInt32    Height;     // 采集高度ULInt32 Width;     // 采集宽度ULInt32    OffsetX;     // 水平偏移ULInt32    OffsetY;     // 垂直偏移ULInt32    Exposure;     // 曝光值 1-500MSUCHAR    Gain[3];     // R G B 增益 1-63UCHAR    Control;//char数组我记得不清了,你自己查一查     // 控制位Byte   InternalUse;    // 用户不要对此字节进行操作Byte    ColorOff[3];    // 用户从外面不要改变此数组的值,要调用EnableColorOffset来改变UCHAR    Reserved[4];    // 保留位};此函数 为需要调用的c++里dll的函数;    public class formload{  [DllImport("HQDLAPI.dll")]  public static extern HqDLInitialize(1,2,3,4);} 

热点排行