You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

702 lines
25 KiB
C

#ifndef _MV_CAMERA_PARAMS_H_
#define _MV_CAMERA_PARAMS_H_
#include "PixelType.h"
// <20><EFBFBD><E8B1B8><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
#define MV_UNKNOW_DEVICE 0x00000000 // δ֪<CEB4><EFBFBD><E8B1B8><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MV_GIGE_DEVICE 0x00000001 // GigE<67>
#define MV_1394_DEVICE 0x00000002 // 1394-a/b <20>
#define MV_USB_DEVICE 0x00000004 // USB3.0 <20>
#define MV_CAMERALINK_DEVICE 0x00000008 // CameraLink<6E>
typedef struct _MV_GIGE_DEVICE_INFO_
{
unsigned int nIpCfgOption;
unsigned int nIpCfgCurrent; //IP configuration:bit31-static bit30-dhcp bit29-lla
unsigned int nCurrentIp; //curtent ip
unsigned int nCurrentSubNetMask; //curtent subnet mask
unsigned int nDefultGateWay; //current gateway
unsigned char chManufacturerName[32];
unsigned char chModelName[32];
unsigned char chDeviceVersion[32];
unsigned char chManufacturerSpecificInfo[48];
unsigned char chSerialNumber[16];
unsigned char chUserDefinedName[16];
unsigned int nNetExport; // <20><><EFBFBD><EFBFBD>IP<49><50>ַ
unsigned int nReserved[4];
}MV_GIGE_DEVICE_INFO;
#define INFO_MAX_BUFFER_SIZE 64
typedef struct _MV_USB3_DEVICE_INFO_
{
unsigned char CrtlInEndPoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
unsigned char CrtlOutEndPoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
unsigned char StreamEndPoint; //<2F><><EFBFBD>˵<EFBFBD>
unsigned char EventEndPoint; //<2F>¼<EFBFBD><C2BC>˵<EFBFBD>
unsigned short idVendor; //<2F><>Ӧ<EFBFBD><D3A6>ID<49><44>
unsigned short idProduct; //<2F><>ƷID<49><44>
unsigned int nDeviceNumber; //<2F><EFBFBD><E8B1B8><EFBFBD>к<EFBFBD>
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; //<2F>豸GUID<49><44>
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; //<2F><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; //<2F>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; //<2F><EFBFBD><EFBFBD><E6B1BE>
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; //<2F><><EFBFBD>к<EFBFBD>
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; //<2F>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int nbcdUSB; //֧<>ֵ<EFBFBD>USBЭ<42><D0AD>
unsigned int nReserved[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
}MV_USB3_DEVICE_INFO;
// <20><EFBFBD><E8B1B8>Ϣ
typedef struct _MV_CC_DEVICE_INFO_
{
// common info
unsigned short nMajorVer;
unsigned short nMinorVer;
unsigned int nMacAddrHigh; // MAC <20><>ַ
unsigned int nMacAddrLow;
unsigned int nTLayerType; // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>e.g. MV_GIGE_DEVICE
unsigned int nReserved[4];
union
{
MV_GIGE_DEVICE_INFO stGigEInfo;
MV_USB3_DEVICE_INFO stUsb3VInfo;
// more ...
}SpecialInfo;
}MV_CC_DEVICE_INFO;
// <20><><EFBFBD><EFBFBD><E7B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
typedef struct _MV_NETTRANS_INFO_
{
int64_t nReviceDataSize; // <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
int nThrowFrameCount; // <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
unsigned int nReserved[5];
}MV_NETTRANS_INFO;
// <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵĴ<D6B5><C4B4><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MV_MAX_TLS_NUM 8
// <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
#define MV_MAX_DEVICE_NUM 256
// <20><EFBFBD><E8B1B8>Ϣ<EFBFBD>б<EFBFBD>
typedef struct _MV_CC_DEVICE_INFO_LIST_
{
unsigned int nDeviceNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; // ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD>
}MV_CC_DEVICE_INFO_LIST;
// <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>Ϣ
typedef struct _MV_FRAME_OUT_INFO_
{
unsigned short nWidth; // ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned short nHeight; // ͼ<><CDBC><EFBFBD><EFBFBD>
enum MvGvspPixelType enPixelType; // <20><><EFBFBD>ظ<EFBFBD>ʽ
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ݲ<EFBFBD>֧<EFBFBD><D6A7>*/
unsigned int nFrameNum; // ֡<><D6A1>
unsigned int nDevTimeStampHigh; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ
unsigned int nDevTimeStampLow; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ
unsigned int nReserved0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD>
int64_t nHostTimeStamp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
unsigned int nFrameLen;
unsigned int nReserved[3]; // <20><><EFBFBD><EFBFBD>
}MV_FRAME_OUT_INFO;
// <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>Ϣ
typedef struct _MV_FRAME_OUT_INFO_EX_
{
unsigned short nWidth; // ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned short nHeight; // ͼ<><CDBC><EFBFBD><EFBFBD>
enum MvGvspPixelType enPixelType; // <20><><EFBFBD>ظ<EFBFBD>ʽ
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ݲ<EFBFBD>֧<EFBFBD><D6A7>*/
unsigned int nFrameNum; // ֡<><D6A1>
unsigned int nDevTimeStampHigh; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ
unsigned int nDevTimeStampLow; // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ
unsigned int nReserved0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD>
int64_t nHostTimeStamp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
unsigned int nFrameLen;
// <20><><EFBFBD><EFBFBD>Ϊchunk<6E><6B><EFBFBD><EFBFBD>ˮӡ<CBAE><D3A1>Ϣ
// <20>豸ˮӡʱ<D3A1><CAB1>
unsigned int nSecondCount;
unsigned int nCycleCount;
unsigned int nCycleOffset;
float fGain;
float fExposureTime;
unsigned int nAverageBrightness; //ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int nRed;
unsigned int nGreen;
unsigned int nBlue;
unsigned int nFrameCounter;
unsigned int nTriggerIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//Line <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
unsigned int nInput; //<2F><><EFBFBD><EFBFBD>
unsigned int nOutput; //<2F><><EFBFBD><EFBFBD>
// ROI<4F><49><EFBFBD><EFBFBD>
unsigned short nOffsetX;
unsigned short nOffsetY;
unsigned int nReserved[41]; // <20><><EFBFBD><EFBFBD>
}MV_FRAME_OUT_INFO_EX;
// <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ
enum MV_SAVE_IAMGE_TYPE
{
MV_Image_Undefined = 0,
MV_Image_Bmp = 1,
MV_Image_Jpeg = 2,
MV_Image_Png = 3, //<2F><>֧<EFBFBD><D6A7>
MV_Image_Tif = 4, //<2F><>֧<EFBFBD><D6A7>
};
// <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
typedef struct _MV_SAVE_IMAGE_PARAM_T_
{
unsigned char* pData; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
unsigned int nDataLen; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
enum MvGvspPixelType enPixelType; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ
unsigned short nWidth; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned short nHeight; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned char* pImageBuffer; // [OUT] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
unsigned int nImageLen; // [OUT] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>С
unsigned int nBufferSize; // [IN] <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ
}MV_SAVE_IMAGE_PARAM;
// ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
{
unsigned char* pData; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
unsigned int nDataLen; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
enum MvGvspPixelType enPixelType; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ
unsigned short nWidth; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned short nHeight; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD>
unsigned char* pImageBuffer; // [OUT] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
unsigned int nImageLen; // [OUT] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>С
unsigned int nBufferSize; // [IN] <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ
unsigned int nJpgQuality; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, (50-99]
unsigned int nReserved[4];
}MV_SAVE_IMAGE_PARAM_EX;
// <20>ɼ<EFBFBD>ģʽ
typedef enum _MV_CAM_ACQUISITION_MODE_
{
MV_ACQ_MODE_SINGLE = 0, // <20><>֡ģʽ
MV_ACQ_MODE_MUTLI = 1, // <20><>֡ģʽ
MV_ACQ_MODE_CONTINUOUS = 2, // <20><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>ģʽ
}MV_CAM_ACQUISITION_MODE;
// <20><><EFBFBD><EFBFBD>ģʽ
typedef enum _MV_CAM_GAIN_MODE_
{
MV_GAIN_MODE_OFF = 0, // <20>ر<EFBFBD>
MV_GAIN_MODE_ONCE = 1, // һ<><D2BB>
MV_GAIN_MODE_CONTINUOUS = 2, // <20><><EFBFBD><EFBFBD>
}MV_CAM_GAIN_MODE;
// <20>ع<EFBFBD>ģʽ
typedef enum _MV_CAM_EXPOSURE_MODE_
{
MV_EXPOSURE_MODE_TIMED = 0, // Timed
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, // TriggerWidth
}MV_CAM_EXPOSURE_MODE;
// <20>Զ<EFBFBD><D4B6>ع<EFBFBD>ģʽ
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
{
MV_EXPOSURE_AUTO_MODE_OFF = 0, // <20>ر<EFBFBD>
MV_EXPOSURE_AUTO_MODE_ONCE = 1, // һ<><D2BB>
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, // <20><><EFBFBD><EFBFBD>
}MV_CAM_EXPOSURE_AUTO_MODE;
typedef enum _MV_CAM_TRIGGER_MODE_
{
MV_TRIGGER_MODE_OFF = 0, // <20>ر<EFBFBD>
MV_TRIGGER_MODE_ON = 1, // <20><><EFBFBD><EFBFBD>
}MV_CAM_TRIGGER_MODE;
typedef enum _MV_CAM_GAMMA_SELECTOR_
{
MV_GAMMA_SELECTOR_USER = 1,
MV_GAMMA_SELECTOR_SRGB = 2,
}MV_CAM_GAMMA_SELECTOR;
typedef enum _MV_CAM_BALANCEWHITE_AUTO_
{
MV_BALANCEWHITE_AUTO_OFF = 0,
MV_BALANCEWHITE_AUTO_ONCE = 2,
MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, // <20><><EFBFBD><EFBFBD>
}MV_CAM_BALANCEWHITE_AUTO;
typedef enum _MV_CAM_TRIGGER_SOURCE_
{
MV_TRIGGER_SOURCE_LINE0 = 0,
MV_TRIGGER_SOURCE_LINE1 = 1,
MV_TRIGGER_SOURCE_LINE2 = 2,
MV_TRIGGER_SOURCE_LINE3 = 3,
MV_TRIGGER_SOURCE_COUNTER0 = 4,
MV_TRIGGER_SOURCE_SOFTWARE = 7,
MV_TRIGGER_SOURCE_FrequencyConverter= 8,
}MV_CAM_TRIGGER_SOURCE;
// GigEVision IP Configuration
#define MV_IP_CFG_STATIC 0x05000000
#define MV_IP_CFG_DHCP 0x06000000
#define MV_IP_CFG_LLA 0x04000000
// GigEVision Net Transfer Mode
#define MV_NET_TRANS_DRIVER 0x00000001
#define MV_NET_TRANS_SOCKET 0x00000002
// <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 // host<73><74><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>U3V<33><EFBFBD><E8B1B8><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
// ij<><C4B3><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ӽڵ<D3BD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
#define MV_MAX_XML_NODE_NUM_C 128
// <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define MV_MAX_XML_NODE_STRLEN_C 64
//<2F>ڵ<EFBFBD>Stringֵ<67><D6B5><EFBFBD>󳤶<EFBFBD>
#define MV_MAX_XML_STRVALUE_STRLEN_C 64
// <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define MV_MAX_XML_DISC_STRLEN_C 512
// <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>Ԫ<EFBFBD><D4AA>
#define MV_MAX_XML_ENTRY_NUM 10
// <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MV_MAX_XML_PARENTS_NUM 8
//ÿ<><C3BF><EFBFBD>Ѿ<EFBFBD>ʵ<EFBFBD>ֵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
#define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
#define MV_MAX_XML_SYMBOLIC_NUM 64
//<2F>ط<EFBFBD><D8B7><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ȫƥ<C8AB><C6A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9>
typedef struct _MV_ALL_MATCH_INFO_
{
unsigned int nType; // <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͣ<EFBFBD>e.g. MV_MATCH_TYPE_NET_DETECT
void* pInfo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
unsigned int nInfoSize; // <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
}MV_ALL_MATCH_INFO;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϊ MV_MATCH_TYPE_NET_DETECT
typedef struct _MV_MATCH_INFO_NET_DETECT_
{
int64_t nReviceDataSize; // <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
int64_t nLostPacketCount; // <20><>ʧ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>
unsigned int nLostFrameCount; // <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
unsigned int nReserved[5]; // <20><><EFBFBD><EFBFBD>
}MV_MATCH_INFO_NET_DETECT;
// host<73>յ<EFBFBD><D5B5><EFBFBD>u3v<33><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϊ MV_MATCH_TYPE_USB_DETECT
typedef struct _MV_MATCH_INFO_USB_DETECT_
{
int64_t nReviceDataSize; // <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>OpenDevicce<63><65>CloseDevice֮<65><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
unsigned int nRevicedFrameCount; // <20><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>֡<EFBFBD><D6A1>
unsigned int nErrorFrameCount; // <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>
unsigned int nReserved[2]; // <20><><EFBFBD><EFBFBD>
}MV_MATCH_INFO_USB_DETECT;
typedef struct _MV_IMAGE_BASIC_INFO_
{
// width
unsigned short nWidthValue;
unsigned short nWidthMin;
unsigned int nWidthMax;
unsigned int nWidthInc;
// height
unsigned int nHeightValue;
unsigned int nHeightMin;
unsigned int nHeightMax;
unsigned int nHeightInc;
// framerate
float fFrameRateValue;
float fFrameRateMin;
float fFrameRateMax;
// <20><><EFBFBD>ظ<EFBFBD>ʽ
unsigned int enPixelType; // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ
unsigned int nSupportedPixelFmtNum; // ֧<>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
unsigned int nReserved[8];
}MV_IMAGE_BASIC_INFO;
// <20><EFBFBD><ECB3A3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 // <20><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 // SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>ƥ<EFBFBD><C6A5>
// <20><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ģʽ
// <20><>ռȨ<D5BC>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APPֻ<50><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CCP<43>Ĵ<EFBFBD><C4B4><EFBFBD>
#define MV_ACCESS_Exclusive 1
// <20><><EFBFBD>Դ<EFBFBD>ʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Զ<EFBFBD>ռȨ<D5BC>޴<EFBFBD><DEB4><EFBFBD>
#define MV_ACCESS_ExclusiveWithSwitch 2
// <20><><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>мĴ<D0BC><C4B4><EFBFBD>
#define MV_ACCESS_Control 3
// <20><><EFBFBD>Դ<EFBFBD>5<EFBFBD><35>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD>
#define MV_ACCESS_ControlWithSwitch 4
// <20>Կɱ<D4BF><C9B1><EFBFBD>ռ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD>
#define MV_ACCESS_ControlSwitchEnable 5
// <20><><EFBFBD>Դ<EFBFBD>5<EFBFBD><35>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Կɱ<D4BF><C9B1><EFBFBD>ռ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD>
#define MV_ACCESS_ControlSwitchEnableWithKey 6
// <20><>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD>
#define MV_ACCESS_Monitor 7
/************************************************************************/
/* <20><>װ<EFBFBD><D7B0>GenICam<61><6D>C<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/************************************************************************/
// ÿ<><C3BF><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>Ӧ<EFBFBD>Ľӿ<C4BD><D3BF><EFBFBD><EFBFBD><EFBFBD>
enum MV_XML_InterfaceType
{
IFT_IValue, //!> IValue interface
IFT_IBase, //!> IBase interface
IFT_IInteger, //!> IInteger interface
IFT_IBoolean, //!> IBoolean interface
IFT_ICommand, //!> ICommand interface
IFT_IFloat, //!> IFloat interface
IFT_IString, //!> IString interface
IFT_IRegister, //!> IRegister interface
IFT_ICategory, //!> ICategory interface
IFT_IEnumeration, //!> IEnumeration interface
IFT_IEnumEntry, //!> IEnumEntry interface
IFT_IPort, //!> IPort interface
};
// <20>ڵ<EFBFBD><DAB5>ķ<EFBFBD><C4B7><EFBFBD>ģʽ
enum MV_XML_AccessMode
{
AM_NI, //!< Not implemented
AM_NA, //!< Not available
AM_WO, //!< Write Only
AM_RO, //!< Read Only
AM_RW, //!< Read and Write
AM_Undefined, //!< Object is not yet initialized
AM_CycleDetect, //!< used internally for AccessMode cycle detection
};
enum MV_XML_Visibility
{
V_Beginner = 0, //!< Always visible
V_Expert = 1, //!< Visible for experts or Gurus
V_Guru = 2, //!< Visible for Gurus
V_Invisible = 3, //!< Not Visible
V_Undefined = 99 //!< Object is not yet initialized
};
typedef enum _MV_GIGE_EVENT_
{
MV_EVENT_ExposureEnd = 1, // ÿ֡<C3BF><D6A1><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD>
MV_EVENT_FrameStartOvertrigger = 2, // ֡<><D6A1>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
MV_EVENT_AcquisitionStartOvertrigger = 3, // ȡ<><C8A1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MV_EVENT_FrameStart = 4, // ÿ֡<C3BF>Ŀ<EFBFBD>ʼ
MV_EVENT_AcquisitionStart = 5, // <20><>ʼȡ<CABC><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡ģʽ<C4A3><CABD>
MV_EVENT_EventOverrun = 6 // <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}MV_GIGE_EVENT;
//
// <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct _MV_XML_NODE_FEATURE_
{
enum MV_XML_InterfaceType enType; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
char strName[MV_MAX_XML_NODE_STRLEN_C]; // <20>ڵ<EFBFBD><DAB5><EFBFBD>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //<2F><>ʾ
unsigned int nReserved[4];
}MV_XML_NODE_FEATURE;
// <20>ڵ<EFBFBD><DAB5>б<EFBFBD>
typedef struct _MV_XML_NODES_LIST_
{
unsigned int nNodeNum; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
MV_XML_NODE_FEATURE stNodes[MV_MAX_XML_NODE_NUM_C];
}MV_XML_NODES_LIST;
typedef struct _MV_XML_FEATURE_Value_
{
enum MV_XML_InterfaceType enType; // <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
char strName[MV_MAX_XML_NODE_STRLEN_C]; // <20>ڵ<EFBFBD><DAB5><EFBFBD>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //<2F><>ʾ
unsigned int nReserved[4];
}MV_XML_FEATURE_Value;
typedef struct _MV_XML_FEATURE_Base_
{
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
}MV_XML_FEATURE_Base;
typedef struct _MV_XML_FEATURE_Integer_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
int64_t nValue; // <20><>ǰֵ
int64_t nMinValue; // <20><>Сֵ
int64_t nMaxValue; // <20><><EFBFBD><EFBFBD>ֵ
int64_t nIncrement; // <20><><EFBFBD><EFBFBD>
unsigned int nReserved[4];
}MV_XML_FEATURE_Integer;
typedef struct _MV_XML_FEATURE_Boolean_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
bool bValue; // <20><>ǰֵ
unsigned int nReserved[4];
}MV_XML_FEATURE_Boolean;
typedef struct _MV_XML_FEATURE_Command_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
unsigned int nReserved[4];
}MV_XML_FEATURE_Command;
typedef struct _MV_XML_FEATURE_Float_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
double dfValue; // <20><>ǰֵ
double dfMinValue; // <20><>Сֵ
double dfMaxValue; // <20><><EFBFBD><EFBFBD>ֵ
double dfIncrement; // <20><><EFBFBD><EFBFBD>
unsigned int nReserved[4];
}MV_XML_FEATURE_Float;
typedef struct _MV_XML_FEATURE_String_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strValue[MV_MAX_XML_STRVALUE_STRLEN_C];// <20><>ǰֵ
unsigned int nReserved[4];
}MV_XML_FEATURE_String;
typedef struct _MV_XML_FEATURE_Register_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
int64_t nAddrValue; // <20><>ǰֵ
unsigned int nReserved[4];
}MV_XML_FEATURE_Register;
typedef struct _MV_XML_FEATURE_Category_
{
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
char strName[MV_MAX_XML_NODE_STRLEN_C]; // <20>ڵ<EFBFBD><DAB5><EFBFBD>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //<2F><>ʾ
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
unsigned int nReserved[4];
}MV_XML_FEATURE_Category;
typedef struct _MV_XML_FEATURE_EnumEntry_
{
char strName[MV_MAX_XML_NODE_STRLEN_C];
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; // Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
int bIsImplemented;
int nParentsNum;
MV_XML_NODE_FEATURE stParentsList[MV_MAX_XML_PARENTS_NUM];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
int64_t nValue; // <20><>ǰֵ
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
int nReserved[8];
}MV_XML_FEATURE_EnumEntry;
typedef struct _MV_XML_FEATURE_Enumeration_
{
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
char strName[MV_MAX_XML_NODE_STRLEN_C]; // <20>ڵ<EFBFBD><DAB5><EFBFBD>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //<2F><>ʾ
int nSymbolicNum; // Symbolic<69><63>
char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C]; // <20><>ǰSymbolic<69><63><EFBFBD><EFBFBD>
char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
int64_t nValue; // <20><>ǰֵ
unsigned int nReserved[4];
}MV_XML_FEATURE_Enumeration;
typedef struct _MV_XML_FEATURE_Port_
{
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD>
char strDescription[MV_MAX_XML_DISC_STRLEN_C];//<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
char strName[MV_MAX_XML_NODE_STRLEN_C]; // <20>ڵ<EFBFBD><DAB5><EFBFBD>
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; //<2F><>ʾ
enum MV_XML_AccessMode enAccessMode; // <20><><EFBFBD><EFBFBD>ģʽ
int bIsLocked; // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7>
unsigned int nReserved[4];
}MV_XML_FEATURE_Port;
typedef struct _MV_XML_CAMERA_FEATURE_
{
enum MV_XML_InterfaceType enType;
union
{
MV_XML_FEATURE_Integer stIntegerFeature;
MV_XML_FEATURE_Float stFloatFeature;
MV_XML_FEATURE_Enumeration stEnumerationFeature;
MV_XML_FEATURE_String stStringFeature;
}SpecialFeature;
}MV_XML_CAMERA_FEATURE;
typedef struct _MVCC_ENUMVALUE_T
{
unsigned int nCurValue; // <20><>ǰֵ
unsigned int nSupportedNum; // <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM];
unsigned int nReserved[4];
}MVCC_ENUMVALUE;
typedef struct _MVCC_INTVALUE_T
{
unsigned int nCurValue; // <20><>ǰֵ
unsigned int nMax;
unsigned int nMin;
unsigned int nInc;
unsigned int nReserved[4];
}MVCC_INTVALUE;
typedef struct _MVCC_FLOATVALUE_T
{
float fCurValue; // <20><>ǰֵ
float fMax;
float fMin;
unsigned int nReserved[4];
}MVCC_FLOATVALUE;
typedef struct _MVCC_STRINGVALUE_T
{
char chCurValue[256]; // <20><>ǰֵ
unsigned int nReserved[4];
}MVCC_STRINGVALUE;
#endif /* _MV_CAMERA_PARAMS_H_ */