各位好,我现在用到一个摄像头的接口,是用VC编写的
其中有个函数如下
HQDL_API HqDLInitialize(
IN LPCTSTR pFilterName,
OUT int *pIndex,
IN CapInfoStruct *pCapInfo,
OUT HANDLE *hCamera
);
其中一个参数,有结构定义
CapInfoStruct 结构定义:
struct CapInfoStruct
{
UCHAR *Buffer; // 用户分配,用于接收采集的原始数据8bit
ULONG Height; // 采集高度
ULONG Width; // 采集宽度
ULONG OffsetX; // 水平偏移
ULONG OffsetY; // 垂直偏移
ULONG Exposure; // 曝光值 1-500MS
UCHAR Gain[3]; // R G B 增益 1-63
UCHAR Control; // 控制位
UCHAR InternalUse; // 用户不要对此字节进行操作
UCHAR ColorOff[3]; // 用户从外面不要改变此数组的值,要调用
EnableColorOffset 来改变
UCHAR Reserved[4]; // 保留位
};我想请问,大家,像这种情况,我怎么向这个函数传递参数啊

解决方案 »

  1.   

    HQDL_API HqDLInitialize(
    IN LPCTSTR pFilterName,
    OUT int *pIndex,
    IN CapInfoStruct *pCapInfo,
    OUT HANDLE *hCamera
    );
    --------------------
    Declare Sub HqDLInitialize Lib "你的文件名称.DLL"( _
                ByVal pFilterName As String, _
                ByRef pIndex As Long, _
                pCapInfo As CapInfoStruct, _
                ByRef hCamera As Long)struct CapInfoStruct
    {
    UCHAR *Buffer; // 用户分配,用于接收采集的原始数据8bit
    ULONG Height; // 采集高度
    ULONG Width; // 采集宽度
    ULONG OffsetX; // 水平偏移
    ULONG OffsetY; // 垂直偏移
    ULONG Exposure; // 曝光值 1-500MS
    UCHAR Gain[3]; // R G B 增益 1-63
    UCHAR Control; // 控制位
    UCHAR InternalUse; // 用户不要对此字节进行操作
    UCHAR ColorOff[3]; // 用户从外面不要改变此数组的值,要调用
    EnableColorOffset 来改变
    UCHAR Reserved[4]; // 保留位
    };
    ----------
    Type CapInfoStruct
      Buffer() As Byte
      Height As Long
      Width As Long
      OffsetX As Long
      OffsetY As Long
      Exposure As Long
      Gain(0 to 2) As Byte
      Control As Byte
      InternalUse As Byte
      ColorOff( 0 to 2) As Byte
      Reserved(0 to 3) As Byte
    End Type
      

  2.   

    vb也写一个和他一样的结构
    你把dll发过来
    我给你写写试试
      

  3.   

    没事,我还有600多分,如果这个问题,解决了
    接着放分大家可以留个E-MAIL
    我把相应的东西发给大家,帮着看看,谢谢了