关于结构体数组的传递有关问题,DLL
关于结构体数组的传递问题,急。。。。,DLL
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
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