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.

918 lines
41 KiB
C

5 years ago
#ifndef _MV_CAMERA_PARAMS_H_
#define _MV_CAMERA_PARAMS_H_
#include "PixelType.h"
#ifndef __cplusplus
typedef char bool;
#define true 1
#define false 0
#endif
// ch:<3A><EFBFBD><E8B1B8><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> | en:Device Type Definition
#define MV_UNKNOW_DEVICE 0x00000000 // ch:δ֪<CEB4><EFBFBD><E8B1B8><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Unknown Device Type, Reserved
#define MV_GIGE_DEVICE 0x00000001 // ch:GigE<67>豸 | en:GigE Device
#define MV_1394_DEVICE 0x00000002 // ch:1394-a/b <20>豸 | en:1394-a/b Device
#define MV_USB_DEVICE 0x00000004 // ch:USB3.0 <20>豸 | en:USB3.0 Device
#define MV_CAMERALINK_DEVICE 0x00000008 // ch:CameraLink<6E>豸 | en:CameraLink Device
typedef struct _MV_GIGE_DEVICE_INFO_
{
unsigned int nIpCfgOption;
unsigned int nIpCfgCurrent; //IP configuration:bit31-static bit30-dhcp bit29-lla
unsigned int nCurrentIp; //curtent | en:
unsigned int nCurrentSubNetMask; //curtent subnet mask
unsigned int nDefultGateWay; //current gateway | en
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; // ch:<3A><><EFBFBD><EFBFBD>IP<49><50>ַ | en:GIGE IP Address
unsigned int nReserved[4];
}MV_GIGE_DEVICE_INFO;
#define INFO_MAX_BUFFER_SIZE 64 //<2F><EFBFBD><C2B6><EFBFBD>256
typedef struct _MV_USB3_DEVICE_INFO_
{
unsigned char CrtlInEndPoint; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD> | en:Control input endpoint
unsigned char CrtlOutEndPoint; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD> | en:Control output endpoint
unsigned char StreamEndPoint; // ch:<3A><><EFBFBD>˵<EFBFBD> | en:Flow endpoint
unsigned char EventEndPoint; // ch:<3A>¼<EFBFBD><C2BC>˵<EFBFBD> | en:Event endpoint
unsigned short idVendor; // ch:<3A><>Ӧ<EFBFBD><D3A6>ID<49><44> | en:Vendor ID Number
unsigned short idProduct; // ch:<3A><>ƷID<49><44> | en:Device ID Number
unsigned int nDeviceNumber; // ch:<3A><EFBFBD><E8B1B8><EFBFBD>к<EFBFBD> | en:Device Serial Number
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; // ch:<3A>豸GUID<49><44> | en:Device GUID Number
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; // ch:<3A><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Vendor Name
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; // ch:<3A>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> | en:Model Name
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Family Name
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; // ch:<3A><EFBFBD><EFBFBD><E6B1BE> | en:Device Version
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Manufacturer Name
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; // ch:<3A><><EFBFBD>к<EFBFBD> | en:Serial Number
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; // ch:<3A>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:User Defined Name
unsigned int nbcdUSB; // ch:֧<>ֵ<EFBFBD>USBЭ<42><D0AD> | en:Support USB Protocol
unsigned int nReserved[3]; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD> | en:Reserved bytes
}MV_USB3_DEVICE_INFO;
typedef struct _MV_CamL_DEV_INFO_
{
unsigned char chPortID[INFO_MAX_BUFFER_SIZE];
unsigned char chModelName[INFO_MAX_BUFFER_SIZE];
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE];
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE];
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE];
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE];
unsigned int nReserved[38];
}MV_CamL_DEV_INFO;
// ch:<3A><EFBFBD><E8B1B8>Ϣ | en:Device Infomation
typedef struct _MV_CC_DEVICE_INFO_
{
// ch:common info | en:common info
unsigned short nMajorVer;
unsigned short nMinorVer;
unsigned int nMacAddrHigh; // ch:MAC <20><>ַ | en:MAC Address
unsigned int nMacAddrLow;
unsigned int nTLayerType; // ch:<3A><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>e.g. MV_GIGE_DEVICE | en:Device Transport Layer Protocol Type, e.g. MV_GIGE_DEVICE
unsigned int nReserved[4];
union
{
MV_GIGE_DEVICE_INFO stGigEInfo;
MV_USB3_DEVICE_INFO stUsb3VInfo;
MV_CamL_DEV_INFO stCamLInfo;
// more ...
}SpecialInfo;
}MV_CC_DEVICE_INFO;
// ch:<3A><><EFBFBD><EFBFBD><E7B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ | en:Network transmission information
typedef struct _MV_NETTRANS_INFO_
{
int64_t nReviceDataSize; // ch:<3A>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] | en:Received Data Size [Calculate the Data Size between StartGrabbing and StopGrabbing]
int nThrowFrameCount; // ch:<3A><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD> | en:Throw frame number
unsigned int nNetRecvFrameCount;
__int64 nRequestResendPacketCount; // <20><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
__int64 nResendPacketCount; // <20>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
}MV_NETTRANS_INFO;
// ch:<3A><><EFBFBD><EFBFBD>֧<EFBFBD>ֵĴ<D6B5><C4B4><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:The maximum number of supported transport layer instances
#define MV_MAX_TLS_NUM 8
// ch:<3A><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD> | en:The maximum number of supported devices
#define MV_MAX_DEVICE_NUM 256
// ch:<3A><EFBFBD><E8B1B8>Ϣ<EFBFBD>б<EFBFBD> | en:Device Information List
typedef struct _MV_CC_DEVICE_INFO_LIST_
{
unsigned int nDeviceNum; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD> | en:Online Device Number
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; // ch:֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD>豸 | en:Support up to 256 devices
}MV_CC_DEVICE_INFO_LIST;
// ch:<3A><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>Ϣ | en:Output Frame Information
typedef struct _MV_FRAME_OUT_INFO_
{
unsigned short nWidth; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Width
unsigned short nHeight; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Height
enum MvGvspPixelType enPixelType; // ch:<3A><><EFBFBD>ظ<EFBFBD>ʽ | en:Pixel Type
unsigned int nFrameNum; // ch:֡<><D6A1> | en:Frame Number
unsigned int nDevTimeStampHigh; // ch:ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ | en:Timestamp high 32 bits
unsigned int nDevTimeStampLow; // ch:ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ | en:Timestamp low 32 bits
unsigned int nReserved0; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD> | en:Reserved, 8-byte aligned
int64_t nHostTimeStamp; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> | en:Host-generated timestamp
unsigned int nFrameLen;
unsigned int nLostPacket; // <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int nReserved[2];
}MV_FRAME_OUT_INFO;
// ch:<3A><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>Ϣ | en:Output Frame Information
typedef struct _MV_FRAME_OUT_INFO_EX_
{
unsigned short nWidth; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Width
unsigned short nHeight; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Height
enum MvGvspPixelType enPixelType; // ch:<3A><><EFBFBD>ظ<EFBFBD>ʽ | en:Pixel Type
unsigned int nFrameNum; // ch:֡<><D6A1> | en:Frame Number
unsigned int nDevTimeStampHigh; // ch:ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ | en:Timestamp high 32 bits
unsigned int nDevTimeStampLow; // ch:ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ | en:Timestamp low 32 bits
unsigned int nReserved0; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD> | en:Reserved, 8-byte aligned
int64_t nHostTimeStamp; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> | en:Host-generated timestamp
unsigned int nFrameLen;
// ch:<3A><><EFBFBD><EFBFBD>Ϊchunk<6E><6B><EFBFBD><EFBFBD>ˮӡ<CBAE><D3A1>Ϣ | en:The followings are chunk add frame-specific information
// ch:<3A>豸ˮӡʱ<D3A1><CAB1> | en:Device frame-specific time scale
unsigned int nSecondCount;
unsigned int nCycleCount;
unsigned int nCycleOffset;
float fGain;
float fExposureTime;
unsigned int nAverageBrightness; // ch:ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Average brightness
// ch:<3A><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:White balance
unsigned int nRed;
unsigned int nGreen;
unsigned int nBlue;
unsigned int nFrameCounter;
unsigned int nTriggerIndex; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Trigger Counting
// ch:Line <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> | en:Line Input/Output
unsigned int nInput; // ch:<3A><><EFBFBD><EFBFBD> | en:Input
unsigned int nOutput; // ch:<3A><><EFBFBD><EFBFBD> | en:Output
// ch:ROI<4F><49><EFBFBD><EFBFBD> | en:ROI Region
unsigned short nOffsetX;
unsigned short nOffsetY;
unsigned short nChunkWidth;
unsigned short nChunkHeight;
unsigned int nLostPacket; // ch:<3A><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Lost Pacekt Number In This Frame
unsigned int nReserved[39]; // <20><><EFBFBD><EFBFBD>
}MV_FRAME_OUT_INFO_EX;
// ch:ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>Ϣ | en:Image Struct, output the pointer of Image and the information of the specific image
typedef struct _MV_FRAME_OUT_
{
unsigned char* pBufAddr; // ch:ͼ<><CDBC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַ | en: pointer of image
MV_FRAME_OUT_INFO_EX stFrameInfo; // ch:ͼ<><CDBC><EFBFBD><EFBFBD>Ϣ | en:information of the specific image
unsigned int nRes[16]; // ch:<3A><><EFBFBD><EFBFBD> | en:reserved
}MV_FRAME_OUT;
typedef struct _MV_DISPLAY_FRAME_INFO_
{
void* hWnd; // ch:<3A><><EFBFBD>ھ<EFBFBD><DABE><EFBFBD> | en:HWND
unsigned char* pData; // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Data Buffer
unsigned int nDataLen; // ch:<3A><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> | en:Data Size
unsigned short nWidth; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Width
unsigned short nHeight; // ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Height
enum MvGvspPixelType enPixelType; // ch:<3A><><EFBFBD>ظ<EFBFBD>ʽ | en:Pixel format
unsigned int nRes[4];
}MV_DISPLAY_FRAME_INFO;
// ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ | en:Save image type
enum MV_SAVE_IAMGE_TYPE
{
MV_Image_Undefined = 0,
MV_Image_Bmp = 1,
MV_Image_Jpeg = 2,
MV_Image_Png = 3, // ch:<3A><>֧<EFBFBD><D6A7> | en:Not support
MV_Image_Tif = 4, // ch:<3A><>֧<EFBFBD><D6A7> | en:Not support
};
// ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD> | en:Save image type
typedef struct _MV_SAVE_IMAGE_PARAM_T_
{
unsigned char* pData; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> | en:Input Data Buffer
unsigned int nDataLen; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С | en:Input Data Size
enum MvGvspPixelType enPixelType; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ | en:Input Data Pixel Format
unsigned short nWidth; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Width
unsigned short nHeight; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Height
unsigned char* pImageBuffer; // [OUT] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD> | en:Output Image Buffer
unsigned int nImageLen; // [OUT] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>С | en:Output Image Size
unsigned int nBufferSize; // [IN] ch:<3A><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С | en:Output buffer size provided
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ | en:Output Image Format
}MV_SAVE_IMAGE_PARAM;
// ch:ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Save Image Parameters
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
{
unsigned char* pData; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> | en:Input Data Buffer
unsigned int nDataLen; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С | en:Input Data Size
enum MvGvspPixelType enPixelType; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ | en:Input Data Pixel Format
unsigned short nWidth; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Width
unsigned short nHeight; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Image Height
unsigned char* pImageBuffer; // [OUT] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD> | en:Output Image Buffer
unsigned int nImageLen; // [OUT] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>С | en:Output Image Size
unsigned int nBufferSize; // [IN] ch:<3A><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С | en:Output buffer size provided
enum MV_SAVE_IAMGE_TYPE enImageType; // [IN] ch:<3A><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ | en:Output Image Format
unsigned int nJpgQuality; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, (50-99] | en:Encoding quality, (50-99]
// [IN] ch:Bayer<65><72>ʽתΪRGB24<32>IJ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-˫<><CBAB><EFBFBD><EFBFBD> 2-Hamilton <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>
// [IN] en:Interpolation method of convert Bayer to RGB24 0-nearest neighbour 1-bilinearity 2-Hamilton
unsigned int iMethodValue;
unsigned int nReserved[3];
}MV_SAVE_IMAGE_PARAM_EX;
// ch:ͼ<><CDBC>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><E1B9B9> | en:Pixel convert structure
typedef struct _MV_PIXEL_CONVERT_PARAM_T_
{
unsigned short nWidth; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Width
unsigned short nHeight; // [IN] ch:ͼ<><CDBC><EFBFBD><EFBFBD> | en:Height
enum MvGvspPixelType enSrcPixelType; // [IN] ch:Դ<><D4B4><EFBFBD>ظ<EFBFBD>ʽ | en:Source pixel format
unsigned char* pSrcData; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> | en:Input data buffer
unsigned int nSrcDataLen; // [IN] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С | en:Input data size
enum MvGvspPixelType enDstPixelType; // [IN] ch:Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ | en:Destination pixel format
unsigned char* pDstBuffer; // [OUT] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> | en:Output data buffer
unsigned int nDstLen; // [OUT] ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С | en:Output data size
unsigned int nDstBufferSize; // [IN] ch:<3A><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С | en:Provided outbut buffer size
unsigned int nRes[4];
}MV_CC_PIXEL_CONVERT_PARAM;
// ch:¼<><C2BC><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> | en:Record Format Type
typedef enum _MV_RECORD_FORMAT_TYPE_
{
MV_FormatType_Undefined = 0,
MV_FormatType_AVI = 1,
}MV_RECORD_FORMAT_TYPE;
// ch:¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Record Parameters
typedef struct _MV_CC_RECORD_PARAM_T_
{
enum MvGvspPixelType enPixelType; // [IN] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ
unsigned short nWidth; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD><><D6B8>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ2<CEAA>ı<EFBFBD><C4B1><EFBFBD>)
unsigned short nHeight; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD><><D6B8>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ2<CEAA>ı<EFBFBD><C4B1><EFBFBD>)
float fFrameRate; // [IN] ֡<><D6A1>fps(1/16-120)
unsigned int nBitRate; // [IN] <20><><EFBFBD><EFBFBD>kbps(128kbps-16Mbps)
MV_RECORD_FORMAT_TYPE enRecordFmtType; // [IN] ¼<><C2BC><EFBFBD><EFBFBD>ʽ
char* strFilePath; // [IN] ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ת<EFBFBD><D7AA>utf-8)
unsigned int nRes[8];
}MV_CC_RECORD_PARAM;
// ch:¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Record Data
typedef struct _MV_CC_INPUT_FRAME_INFO_T_
{
unsigned char* pData; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
unsigned int nDataLen; // [IN] ͼ<><CDBC><EFBFBD><EFBFBD>С
unsigned int nRes[8];
}MV_CC_INPUT_FRAME_INFO;
// ch:<3A>ɼ<EFBFBD>ģʽ | en:Acquisition mode
typedef enum _MV_CAM_ACQUISITION_MODE_
{
MV_ACQ_MODE_SINGLE = 0, // ch:<3A><>֡ģʽ | en:Single Mode
MV_ACQ_MODE_MUTLI = 1, // ch:<3A><>֡ģʽ | en:Multi Mode
MV_ACQ_MODE_CONTINUOUS = 2, // ch:<3A><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>ģʽ | en:Continuous Mode
}MV_CAM_ACQUISITION_MODE;
// ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Gain Mode
typedef enum _MV_CAM_GAIN_MODE_
{
MV_GAIN_MODE_OFF = 0, // ch:<3A>ر<EFBFBD> | en:Single Mode
MV_GAIN_MODE_ONCE = 1, // ch:һ<><D2BB> | en:Multi Mode
MV_GAIN_MODE_CONTINUOUS = 2, // ch:<3A><><EFBFBD><EFBFBD> | en:Continuous Mode
}MV_CAM_GAIN_MODE;
// ch:<3A>ع<EFBFBD>ģʽ | en:Exposure Mode
typedef enum _MV_CAM_EXPOSURE_MODE_
{
MV_EXPOSURE_MODE_TIMED = 0, // Timed
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, // TriggerWidth
}MV_CAM_EXPOSURE_MODE;
// ch:<3A>Զ<EFBFBD><D4B6>ع<EFBFBD>ģʽ | en:Auto Exposure Mode
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
{
MV_EXPOSURE_AUTO_MODE_OFF = 0, // ch:<3A>ر<EFBFBD> | en:Off
MV_EXPOSURE_AUTO_MODE_ONCE = 1, // ch:һ<><D2BB> | en:Once
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, // ch:<3A><><EFBFBD><EFBFBD> | en:Continuous
}MV_CAM_EXPOSURE_AUTO_MODE;
typedef enum _MV_CAM_TRIGGER_MODE_
{
MV_TRIGGER_MODE_OFF = 0, // ch:<3A>ر<EFBFBD> | en:Off
MV_TRIGGER_MODE_ON = 1, // ch:<3A><><EFBFBD><EFBFBD> | en:ON
}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, // ch:<3A><><EFBFBD><EFBFBD> | en:Continuous
}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;
typedef enum _MV_GIGE_TRANSMISSION_TYPE_
{
MV_GIGE_TRANSTYPE_UNICAST = 0x0, // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><><C4AC>) | en:Unicast mode
MV_GIGE_TRANSTYPE_MULTICAST = 0x1, // ch:<3A><>ʾ<EFBFBD>鲥 | en:Multicast mode
MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ㲥<DAB9><E3B2A5><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Limited broadcast mode,not support
MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ڹ㲥<DAB9><E3B2A5><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Subnet broadcast mode,not support
MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Transtype from camera,not support
MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, // ch:<3A><>ʾ<EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD>Ӧ<EFBFBD>ö˽<C3B6><CBBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Port<72><74> | en:User Defined Receive Data Port
MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, // ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Unicast without receive data
MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV = 0x00010001, // ch:<3A><>ʾ<EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Multicast without receive data
}MV_GIGE_TRANSMISSION_TYPE;
// 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
// CameraLink Baud Rates (CLUINT32)
#define MV_CAML_BAUDRATE_9600 0x00000001
#define MV_CAML_BAUDRATE_19200 0x00000002
#define MV_CAML_BAUDRATE_38400 0x00000004
#define MV_CAML_BAUDRATE_57600 0x00000008
#define MV_CAML_BAUDRATE_115200 0x00000010
#define MV_CAML_BAUDRATE_230400 0x00000020
#define MV_CAML_BAUDRATE_460800 0x00000040
#define MV_CAML_BAUDRATE_921600 0x00000080
#define MV_CAML_BAUDRATE_AUTOMAX 0x40000000
// ch:<3A><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> | en:Information Type
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ | en:Network traffic and packet loss information
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 // ch:host<73><74><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>U3V<33><EFBFBD><E8B1B8><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD> | en:The total number of bytes host received from U3V device
// ch:ij<><C4B3><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ӽڵ<D3BD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ | en:The maximum number of child nodes corresponding to a node
#define MV_MAX_XML_NODE_NUM_C 128
// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> | en:The maximum length of node name string
#define MV_MAX_XML_NODE_STRLEN_C 64
// ch:<3A>ڵ<EFBFBD>Stringֵ<67><D6B5><EFBFBD>󳤶<EFBFBD> | en:The maximum length of Node String
#define MV_MAX_XML_STRVALUE_STRLEN_C 64
// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>󳤶<EFBFBD> | en:The maximum length of the node description field
#define MV_MAX_XML_DISC_STRLEN_C 512
// ch:<3A><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>Ԫ<EFBFBD><D4AA> | en:The maximum number of units
#define MV_MAX_XML_ENTRY_NUM 10
// ch:<3A><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:The maximum number of parent nodes
#define MV_MAX_XML_PARENTS_NUM 8
// ch:ÿ<><C3BF><EFBFBD>Ѿ<EFBFBD>ʵ<EFBFBD>ֵ<EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD> | en:The length of the name of each unit that has been implemented
#define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
#define MV_MAX_XML_SYMBOLIC_NUM 64
// ch:<3A>ط<EFBFBD><D8B7><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:The default maximum number of retransmission packets
// ch:ȫƥ<C8AB><C6A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9> | en:A fully matched information structure
typedef struct _MV_ALL_MATCH_INFO_
{
unsigned int nType; // ch:<3A><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͣ<EFBFBD>e.g. MV_MATCH_TYPE_NET_DETECT | en:Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT
void* pInfo; // ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD> | en:Output information cache, which is allocated by the caller
unsigned int nInfoSize; // ch:<3A><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С | en:Information cache size
}MV_ALL_MATCH_INFO;
// ch:<3A><><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
// en:Network traffic and packet loss feedback structure, the corresponding type is MV_MATCH_TYPE_NET_DETECT
typedef struct _MV_MATCH_INFO_NET_DETECT_
{
int64_t nReviceDataSize; // ch:<3A>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] | en:Received data size
int64_t nLostPacketCount; // ch:<3A><>ʧ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD> | en:Number of packets lost
unsigned int nLostFrameCount; // ch:<3A><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD> | en:Number of frames lost
unsigned int nNetRecvFrameCount; // ch:<3A><><EFBFBD><EFBFBD> | en:Reserved
__int64 nRequestResendPacketCount; // <20><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
__int64 nResendPacketCount; // <20>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>
}MV_MATCH_INFO_NET_DETECT;
// ch: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 | en:The total number of bytes host received from the u3v device side, the corresponding type is MV_MATCH_TYPE_USB_DETECT
typedef struct _MV_MATCH_INFO_USB_DETECT_
{
int64_t nReviceDataSize; // ch:<3A>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>OpenDevicce<63><65>CloseDevice֮<65><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] | en:Received data size
unsigned int nRevicedFrameCount; // ch:<3A><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>֡<EFBFBD><D6A1> | en:Number of frames received
unsigned int nErrorFrameCount; // ch:<3A><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1> | en:Number of error frames
unsigned int nReserved[2]; // ch:<3A><><EFBFBD><EFBFBD> | en:Reserved
}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;
// ch:<3A><><EFBFBD>ظ<EFBFBD>ʽ | en:pixel format
unsigned int enPixelType; // ch:<3A><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ | en:Current pixel format
unsigned int nSupportedPixelFmtNum; // ch:֧<>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> | en:Support pixel format
unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
unsigned int nReserved[8];
}MV_IMAGE_BASIC_INFO;
// ch: <20><EFBFBD><ECB3A3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> | en:Exception message type
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 // ch:<3A><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD> | en:The device is disconnected
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 // ch:SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>ƥ<EFBFBD><C6A5> | en:SDK does not match the driver version
// ch:<3A><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ģʽ | en:Device Access Mode
// ch:<3A><>ռȨ<D5BC>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APPֻ<50><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CCP<43>Ĵ<EFBFBD><C4B4><EFBFBD> | en:Exclusive authority, other APP is only allowed to read the CCP register
#define MV_ACCESS_Exclusive 1
// ch:<3A><><EFBFBD>Դ<EFBFBD>ʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Զ<EFBFBD>ռȨ<D5BC>޴<EFBFBD><DEB4><EFBFBD> | en:You can seize the authority from the 5 mode, and then open with exclusive authority
#define MV_ACCESS_ExclusiveWithSwitch 2
// ch:<3A><><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>мĴ<D0BC><C4B4><EFBFBD> | en:Control authority, allows other APP reading all registers
#define MV_ACCESS_Control 3
// ch:<3A><><EFBFBD>Դ<EFBFBD>5<EFBFBD><35>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD> | en:You can seize the authority from the 5 mode, and then open with control authority
#define MV_ACCESS_ControlWithSwitch 4
// ch:<3A>Կɱ<D4BF><C9B1><EFBFBD>ռ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD> | en:Open with seized control authority
#define MV_ACCESS_ControlSwitchEnable 5
// ch:<3A><><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> | en:You can seize the authority from the 5 mode, and then open with seized control authority
#define MV_ACCESS_ControlSwitchEnableWithKey 6
// ch:<3A><>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD> | en:Open with read mode and is available under control authority
#define MV_ACCESS_Monitor 7
/************************************************************************/
/* <20><>װ<EFBFBD><D7B0>GenICam<61><6D>C<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/* Package of GenICam C interface-related parameters definition */
/************************************************************************/
// ch:ÿ<><C3BF><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>Ӧ<EFBFBD>Ľӿ<C4BD><D3BF><EFBFBD><EFBFBD><EFBFBD> | en:Interface type corresponds to each node
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
};
// ch:<3A>ڵ<EFBFBD><DAB5>ķ<EFBFBD><C4B7><EFBFBD>ģʽ | en:Node Access Mode
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
};
//Event<6E>¼<EFBFBD><C2BC>ص<EFBFBD><D8B5><EFBFBD>Ϣ | en:Event callback infomation
#define MAX_EVENT_NAME_SIZE 128//<2F><><EFBFBD><EFBFBD>Event<6E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> | en:Max length of event name
typedef struct _MV_EVENT_OUT_INFO_
{
char EventName[MAX_EVENT_NAME_SIZE]; //Event<6E><74><EFBFBD><EFBFBD> | en:Event name
unsigned short nEventID; //Event<6E><74> | en:Event ID
unsigned short nStreamChannel; //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Circulation number
unsigned int nBlockIdHigh; //֡<>Ÿ<EFBFBD>λ | en:BlockId high
unsigned int nBlockIdLow; //֡<>ŵ<EFBFBD>λ | en:BlockId low
unsigned int nTimestampHigh; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ | en:Timestramp high
unsigned int nTimestampLow; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ | en:Timestramp low
void * pEventData; //Event<6E><74><EFBFBD><EFBFBD> | en:Event data
unsigned int nEventDataSize; //Event<6E><74><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> | en:Event data len
unsigned int nReserved[16]; //Ԥ<><D4A4> | en:Reserved
}MV_EVENT_OUT_INFO;
// ch:<3A>ļ<EFBFBD><C4BC><EFBFBD>ȡ | en:File Access
typedef struct _MV_CC_FILE_ACCESS_T
{
const char * pUserFileName; //<2F>û<EFBFBD><C3BB>ļ<EFBFBD><C4BC><EFBFBD> | en:User file name
const char * pDevFileName; //<2F><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> | en:Device file name
unsigned int nReserved[32]; //Ԥ<><D4A4> | en:Reserved
}MV_CC_FILE_ACCESS;
// ch:<3A>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> | en:File Access Progress
typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T
{
int64_t nCompleted; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɵij<C9B5><C4B3><EFBFBD> | en:Completed Length
int64_t nTotal; //<2F>ܳ<EFBFBD><DCB3><EFBFBD> | en:Total Length
unsigned int nReserved[8]; //Ԥ<><D4A4> | en:Reserved
}MV_CC_FILE_ACCESS_PROGRESS;
// ch:<3A><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>鲥ģʽ<C4A3><CABD> | en:Transmission type
typedef struct _MV_TRANSMISSION_TYPE_T
{
MV_GIGE_TRANSMISSION_TYPE enTransmissionType; //<2F><><EFBFBD><EFBFBD>ģʽ | en:Transmission type
unsigned int nDestIp; //Ŀ<><C4BF>IP<49><50><EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Destination IP
unsigned short nDestPort; //Ŀ<><C4BF>Port<72><74><EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Destination port
unsigned int nReserved[32]; //Ԥ<><D4A4> | en:Reserved
}MV_TRANSMISSION_TYPE;
// ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ | en:Action Command
typedef struct _MV_ACTION_CMD_INFO_T
{
unsigned int nDeviceKey; //<2F><EFBFBD><E8B1B8>Կ
unsigned int nGroupKey; //<2F><><EFBFBD><EFBFBD>
unsigned int nGroupMask; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int bActionTimeEnable; //ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>1ʱAction Time<6D><65><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><31><CAB1>Ч
int64_t nActionTime; //Ԥ<><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4A3AC><EFBFBD><EFBFBD>Ƶ<EFBFBD>й<EFBFBD>
const char* pBroadcastAddress; //<2F><EFBFBD><E3B2A5><EFBFBD><EFBFBD>ַ
unsigned int nTimeOut; //<2F>ȴ<EFBFBD>ACK<43>ij<EFBFBD>ʱʱ<CAB1><EFBFBD><E4A3AC><EFBFBD><EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ҪACK
unsigned int nReserved[16]; //Ԥ<><D4A4> | en:Reserved
}MV_ACTION_CMD_INFO;
// ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB7B5><EFBFBD><EFBFBD>Ϣ | en:Action Command Result
typedef struct _MV_ACTION_CMD_RESULT_T
{
unsigned char strDeviceAddress[12 + 3 + 1]; //IP address of the device
//status code returned by the device
int nStatus;//1.0x0000:success.
//2.0x8001:Command is not supported by the device.
//3.0x8013:The device is not synchronized to a master clock to be used as time reference.
//4.0x8015:A device queue or packet data has overflowed.
//5.0x8016:The requested scheduled action command was requested at a time that is already past.
unsigned int nReserved[4]; //Ԥ<><D4A4> | en:Reserved
}MV_ACTION_CMD_RESULT;
// ch:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB7B5><EFBFBD><EFBFBD>Ϣ<EFBFBD>б<EFBFBD> | en:Action Command Result List
typedef struct _MV_ACTION_CMD_RESULT_LIST_T
{
unsigned int nNumResults; //<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
MV_ACTION_CMD_RESULT* pResults;
}MV_ACTION_CMD_RESULT_LIST;
// ch:<3A><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | en:Single Node Basic Attributes
typedef struct _MV_XML_NODE_FEATURE_
{
enum MV_XML_InterfaceType enType; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> | en:Node Type
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Is visibility
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Node Description, NOT SUPPORT NOW
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> | en:Display Name
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD> | en:Node Name
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:<3A><>ʾ | en:Notice
unsigned int nReserved[4];
}MV_XML_NODE_FEATURE;
// ch:<3A>ڵ<EFBFBD><DAB5>б<EFBFBD> | en:Node List
typedef struct _MV_XML_NODES_LIST_
{
unsigned int nNodeNum; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> | en:Node Number
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; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> | en:Node Type
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Node Description, NOT SUPPORT NOW
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> | en:Display Name
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD> | en:Node Name
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:<3A><>ʾ | en:Notice
unsigned int nReserved[4];
}MV_XML_FEATURE_Value;
typedef struct _MV_XML_FEATURE_Base_
{
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
}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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
int64_t nValue; // ch:<3A><>ǰֵ | en:Current Value
int64_t nMinValue; // ch:<3A><>Сֵ | en:Min Value
int64_t nMaxValue; // ch:<3A><><EFBFBD><EFBFBD>ֵ | en:Max Value
int64_t nIncrement; // ch:<3A><><EFBFBD><EFBFBD> | en:Increment
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
bool bValue; // ch:<3A><>ǰֵ | en:Current Value
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; //<2F>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
double dfValue; // ch:<3A><>ǰֵ | en:Current Value
double dfMinValue; // ch:<3A><>Сֵ | en:Min Value
double dfMaxValue; // ch:<3A><><EFBFBD><EFBFBD>ֵ | en:Max Value
double dfIncrement; // ch:<3A><><EFBFBD><EFBFBD> | en:Increment
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
char strValue[MV_MAX_XML_STRVALUE_STRLEN_C];// ch:<3A><>ǰֵ | en:Current Value
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
int64_t nAddrValue; // ch:<3A><>ǰֵ | en:Current Value
unsigned int nReserved[4];
}MV_XML_FEATURE_Register;
typedef struct _MV_XML_FEATURE_Category_
{
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Node Description, NOT SUPPORT NOW
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> | en:Display Name
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD> | en:Node Name
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:<3A><>ʾ | en:Notice
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
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]; // ch:Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:NOT SUPPORT NOW
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; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
int64_t nValue; // ch:<3A><>ǰֵ | en:Current Value
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
int nReserved[8];
}MV_XML_FEATURE_EnumEntry;
typedef struct _MV_XML_FEATURE_Enumeration_
{
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Node Description, NOT SUPPORT NOW
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> | en:Display Name
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD> | en:Node Name
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:<3A><>ʾ | en:Notice
int nSymbolicNum; // ch:Symbolic<69><63> | en:Symbolic Number
char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C]; // ch:<3A><>ǰSymbolic<69><63><EFBFBD><EFBFBD> | en:Current Symbolic Index
char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
int64_t nValue; // ch:<3A><>ǰֵ | en:Current Value
unsigned int nReserved[4];
}MV_XML_FEATURE_Enumeration;
typedef struct _MV_XML_FEATURE_Port_
{
enum MV_XML_Visibility enVisivility; // ch:<3A>Ƿ<EFBFBD><C7B7>ɼ<EFBFBD> | en:Visible
char strDescription[MV_MAX_XML_DISC_STRLEN_C];// ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Node Description, NOT SUPPORT NOW
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];// ch:<3A><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> | en:Display Name
char strName[MV_MAX_XML_NODE_STRLEN_C]; // ch:<3A>ڵ<EFBFBD><DAB5><EFBFBD> | en:Node Name
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; // ch:<3A><>ʾ | en:Notice
enum MV_XML_AccessMode enAccessMode; // ch:<3A><><EFBFBD><EFBFBD>ģʽ | en:Access Mode
int bIsLocked; // ch:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<2D><><EFBFBD><EFBFBD>1-<2D><> Ŀǰ<C4BF>ݲ<EFBFBD>֧<EFBFBD><D6A7> | en:Locked. 0-NO; 1-YES, NOT SUPPORT NOW
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; // ch:<3A><>ǰֵ | en:Current Value
unsigned int nSupportedNum; // ch:<3A><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD> | en:Number of valid data
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM];
unsigned int nReserved[4];
}MVCC_ENUMVALUE;
typedef struct _MVCC_INTVALUE_T
{
unsigned int nCurValue; // ch:<3A><>ǰֵ | en:Current Value
unsigned int nMax;
unsigned int nMin;
unsigned int nInc;
unsigned int nReserved[4];
}MVCC_INTVALUE;
typedef struct _MVCC_INTVALUE_EX_T
{
int64_t nCurValue; // ch:<3A><>ǰֵ | en:Current Value
int64_t nMax;
int64_t nMin;
int64_t nInc;
unsigned int nReserved[16];
}MVCC_INTVALUE_EX;
typedef struct _MVCC_FLOATVALUE_T
{
float fCurValue; // ch:<3A><>ǰֵ | en:Current Value
float fMax;
float fMin;
unsigned int nReserved[4];
}MVCC_FLOATVALUE;
typedef struct _MVCC_STRINGVALUE_T
{
char chCurValue[256]; // ch:<3A><>ǰֵ | en:Current Value
int64_t nMaxLength;
unsigned int nReserved[2];
}MVCC_STRINGVALUE;
#endif /* _MV_CAMERA_PARAMS_H_ */