关于结构体数组的传递有关问题,DLL

关于结构体数组的传递问题,急。。。。,DLL
本帖最后由 wangyounihao 于 2013-03-15 10:14:17 编辑
C结构体原型// Measured value output (single)
EXP RC WINAPI LKIF2_GetCalcDataSingle(IN int OutNo,OUT LKIF_FLOATVALUE_OUT * CalcData);
// Measured value output (multiple)
EXP RC WINAPI LKIF2_GetCalcDataMulti(IN LKIF_OUTNO OutNo, OUT LKIF_FLOATVALUE_OUT * CalcData);
// Specify OUT
typedef enum {
LKIF_OUTNO_01 = 0x0001, // OUT01
LKIF_OUTNO_02 = 0x0002, // OUT02
LKIF_OUTNO_03 = 0x0004, // OUT03
LKIF_OUTNO_04 = 0x0008, // OUT04
LKIF_OUTNO_05 = 0x0010, // OUT05
LKIF_OUTNO_06 = 0x0020, // OUT06
LKIF_OUTNO_07 = 0x0040, // OUT07
LKIF_OUTNO_08 = 0x0080, // OUT08
LKIF_OUTNO_09 = 0x0100, // OUT09
LKIF_OUTNO_10 = 0x0200, // OUT10
LKIF_OUTNO_11 = 0x0400, // OUT11
LKIF_OUTNO_12 = 0x0800, // OUT12
LKIF_OUTNO_ALL = 0x0FFF, // All OUTs
} LKIF_OUTNO;
// Measurement value
typedef struct {
int OutNo; // OUT No(0-11)
LKIF_FLOATRESULT FloatResult; // valid or invalid data
float Value; // Measurement value
} LKIF_FLOATVALUE_OUT;

typedef struct {
LKIF_FLOATRESULT FloatResult; // valid or invalid data
float Value; // Measurement value
} LKIF_FLOATVALUE;


VB结构体原型' Measurement control commands
'
'Measured value output (single)
Public Declare Function LKIF2_GetCalcDataSingle Lib "LLLL2.dll" (ByVal outNo As Long, ByRef calcData As LKIF_FLOATVALUE_OUT) As RC

'Measured value output (multiple)
Public Declare Function LKIF2_GetCalcDataMulti Lib "LLLL2.dll" (ByVal outNo As LKIF_OUTNO, ByRef calcData As LKIF_FLOATVALUE_OUT) As RC

Public Enum LKIF_OUTNO
    LKIF_OUTNO_01 = &H1             ' OUT01
    LKIF_OUTNO_02 = &H2             ' OUT02
    LKIF_OUTNO_03 = &H4             ' OUT03
    LKIF_OUTNO_04 = &H8             ' OUT04
    LKIF_OUTNO_05 = &H10            ' OUT05
    LKIF_OUTNO_06 = &H20            ' OUT06
    LKIF_OUTNO_07 = &H40            ' OUT07
    LKIF_OUTNO_08 = &H80            ' OUT08
    LKIF_OUTNO_09 = &H100           ' OUT09
    LKIF_OUTNO_10 = &H200           ' OUT10