我想在ATL项目的IDL文件中使用别的头文件中的枚举类型和结构体该怎么使用?
[id(4), helpstring("方法SetInfoResolution")] HRESULT SetInfoResolution([in] INT iOperationMode, [in] ResolutionMode pResolution,[out,retval]VARIANT_BOOL* bRes); ResolutionMode是个枚举类型是在sixdefinitions.h中定义的[id(6), helpstring("方法GetOffsetCalibInfo")] HRESULT GetOffsetCalibInfo([in] INT pOperationMode,[in] INT iOffsetMode,[in,out]CalibInfo* pCalibInfo);CalibInfo是个结构体和ResolutionMode都是在sixdefinitions.h中但是CalibInfo中又包括了枚举类型和一个time_t类型头文件如下:
#ifndef SIX_DEFINITIONS_H
#define SIX_DEFINITIONS_H
#include <time.h>
#include <string>
namespace SiX {
/************************************************************************/
/* typedefs */
/************************************************************************/
typedef unsigned short SiX_Pixel;
typedef SiX_Pixel* SiX_Image;
/************************************************************************/
/* Constants */
/************************************************************************/
#define DM_CALIB_OPERATION_MODE_FULL 0
#define DM_CALIB_OPERATION_MODE_BINNING 1
#define INPUT_PINS 2
#define OUTPUT_PINS 2
#define PIXEL_MAX_VAL 4095
enum ResolutionMode
{
ResolutionFull,
Resolution2X2,
Resolution_count // <noparse>
};
enum CalibrationState
{
CalibStateValid,
CalibStateExpired,
CalibStateNotExist
};
#define SYSTEM_INFO_FIELD_SIZE 16struct CalibInfo
{
CalibrationState eCalibState;
time_t CalibTime;
int iTemperature1;
int iTemperature2;
char sDetectorSerialNumber[SYSTEM_INFO_FIELD_SIZE+1];
};}请大家来帮帮忙 我该怎么使用?分不够可以再加 拜托各位了
[id(4), helpstring("方法SetInfoResolution")] HRESULT SetInfoResolution([in] INT iOperationMode, [in] ResolutionMode pResolution,[out,retval]VARIANT_BOOL* bRes); ResolutionMode是个枚举类型是在sixdefinitions.h中定义的[id(6), helpstring("方法GetOffsetCalibInfo")] HRESULT GetOffsetCalibInfo([in] INT pOperationMode,[in] INT iOffsetMode,[in,out]CalibInfo* pCalibInfo);CalibInfo是个结构体和ResolutionMode都是在sixdefinitions.h中但是CalibInfo中又包括了枚举类型和一个time_t类型头文件如下:
#ifndef SIX_DEFINITIONS_H
#define SIX_DEFINITIONS_H
#include <time.h>
#include <string>
namespace SiX {
/************************************************************************/
/* typedefs */
/************************************************************************/
typedef unsigned short SiX_Pixel;
typedef SiX_Pixel* SiX_Image;
/************************************************************************/
/* Constants */
/************************************************************************/
#define DM_CALIB_OPERATION_MODE_FULL 0
#define DM_CALIB_OPERATION_MODE_BINNING 1
#define INPUT_PINS 2
#define OUTPUT_PINS 2
#define PIXEL_MAX_VAL 4095
enum ResolutionMode
{
ResolutionFull,
Resolution2X2,
Resolution_count // <noparse>
};
enum CalibrationState
{
CalibStateValid,
CalibStateExpired,
CalibStateNotExist
};
#define SYSTEM_INFO_FIELD_SIZE 16struct CalibInfo
{
CalibrationState eCalibState;
time_t CalibTime;
int iTemperature1;
int iTemperature2;
char sDetectorSerialNumber[SYSTEM_INFO_FIELD_SIZE+1];
};}请大家来帮帮忙 我该怎么使用?分不够可以再加 拜托各位了
typedef struct
{
CalibrationState eCalibState;
time_t CalibTime;
int iTemperature1;
int iTemperature2;
char sDetectorSerialNumber[SYSTEM_INFO_FIELD_SIZE+1];
}CalibInfo;这个结构体如果插入到SAFEARRAY中可以吗?能否给点示范代码呢?我第一次写这个东西 万分感谢
拜托大家了