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.
Cigarette/CigaretteSingle/MVS3.2.1/Include/MvCameraControl.h

2008 lines
127 KiB
C

#ifndef _MV_CAMERA_CTRL_H_
#define _MV_CAMERA_CTRL_H_
#include "MvErrorDefine.h"
#include "CameraParams.h"
#include "MvObsoleteInterfaces.h"
/************************************************************************/
/* <20><>̬<EFBFBD><EFBFBD><EFBFBD><EBB5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/* Import and export definition of the dynamic library */
/************************************************************************/
#ifndef MV_CAMCTRL_API
#if (defined (_WIN32) || defined(WIN64))
#if defined(MV_CAMCTRL_EXPORTS)
#define MV_CAMCTRL_API __declspec(dllexport)
#else
#define MV_CAMCTRL_API __declspec(dllimport)
#endif
#else
#ifndef __stdcall
#define __stdcall
#endif
#ifndef MV_CAMCTRL_API
#define MV_CAMCTRL_API
#endif
#endif
#endif
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************/
/* <20><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD> */
/* Camera basic instructions and operations */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡSDK<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD>ֽڰ<EFBFBD><EFBFBD>
|<EFBFBD><EFBFBD> |<EFBFBD><EFBFBD> |<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <EFBFBD><EFBFBD><EFBFBD><EFBFBD>|
8bits 8bits 8bits 8bits
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ0x01000001<EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD><EFBFBD><EFBFBD>ΪV1.0.0.1<EFBFBD><EFBFBD>
* @~english
* @brief Get SDK Version
* @return Always return 4 Bytes of version number
|Main |Sub |Rev | Test|
8bits 8bits 8bits 8bits
* @remarks For example, if the return value is 0x01000001, the SDK version is V1.0.0.1.
************************************************************************/
MV_CAMCTRL_API unsigned int __stdcall MV_CC_GetSDKVersion();
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ֧<EFBFBD>ֵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return ֧<EFBFBD>ֵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get supported Transport Layer
* @return Supported Transport Layer number
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_EnumerateTls();
/********************************************************************//**
* @~chinese
* @brief ö<EFBFBD><EFBFBD><EFBFBD>
* @param nTLayerType [IN] ö<EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevList [OUT] <EFBFBD><EFBFBD>б<EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD>øýӿ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ö<EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Enumerate Device
* @param nTLayerType [IN] Enumerate TLs
* @param pstDevList [OUT] Device List
* @return Success, return MV_OK. Failure, return error code
* @remarks The memory of the device list is allocated within the SDK. When the interface is invoked by multiple threads, the memory of the device list will be released and applied.\n
It is recommended to avoid multithreaded enumeration operations as much as possible.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_EnumDevices(IN unsigned int nTLayerType, IN OUT MV_CC_DEVICE_INFO_LIST* pstDevList);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>
* @param nTLayerType [IN] ö<EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevList [OUT] <EFBFBD><EFBFBD>б<EFBFBD>
* @param strManufacturerName [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD>øýӿ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ö<EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Enumerate device according to manufacture name
* @param nTLayerType [IN] Transmission layer of enumeration
* @param pstDevList [OUT] Device list
* @param strManufacturerName [IN] Manufacture Name
* @return Success, return MV_OK. Failure, return error code
* @remarks The memory of the device list is allocated within the SDK. When the interface is invoked by multiple threads, the memory of the device list will be released and applied.\n
It is recommended to avoid multithreaded enumeration operations as much as possible.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_EnumDevicesEx(IN unsigned int nTLayerType, IN OUT MV_CC_DEVICE_INFO_LIST* pstDevList, IN const char* strManufacturerName);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɴ<EFBFBD>
* @param pstDevInfo [IN] <EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @param nAccessMode [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>true<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
* @remarks <EFBFBD><EFBFBD>ȡ<EFBFBD>CCP<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>жϵ<EFBFBD>ǰ״̬<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD> \n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>MV_ACCESS_ExclusiveWithSwitch<EFBFBD><EFBFBD>MV_ACCESS_ControlWithSwitch<EFBFBD><EFBFBD>MV_ACCESS_ControlSwitchEnableWithKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD>ӿڷ<EFBFBD><EFBFBD><EFBFBD>false<EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Is the device accessible
* @param pstDevInfo [IN] Device Information Structure
* @param nAccessMode [IN] Access Right
* @return Access, return true. Not access, return false
* @remarks Read device CCP register value and determine current access permission.\n
Return false if the device does not support the modes MV_ACCESS_ExclusiveWithSwitch, MV_ACCESS_ControlWithSwitch, MV_ACCESS_ControlSwitchEnableWithKey. Currently the device does not support the 3 preemption modes, neither do the devices from other mainstream manufacturers. \n
This API is not supported by CameraLink device.
************************************************************************/
MV_CAMCTRL_API bool __stdcall MV_CC_IsDeviceAccessible(IN MV_CC_DEVICE_INFO* pstDevInfo, IN unsigned int nAccessMode);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD><EFBFBD>־·<EFBFBD><EFBFBD>
* @param strSDKLogPath [IN] SDK<EFBFBD><EFBFBD>־·<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>֮<EFBFBD>󣬿<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>\n
v2.4.1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>񣬿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @~english
* @brief Set SDK log path
* @param strSDKLogPath [IN] SDK log path
* @return Access, return true. Not access, return false
* @remarks For version V2.4.1, added log service, this API is invalid when the service is enabled.And The logging service is enabled by default\n
This API is used to set the log file storing path.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetSDKLogPath(IN const char * strSDKLogPath);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevInfo [IN] <EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ͳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ģ<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>MV_CC_CreateHandleWithoutLog<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Create Device Handle
* @param handle [OUT] Device handle
* @param pstDevInfo [IN] Device Information Structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Create required resources within library and initialize internal module according to input device information. Create handle and call SDK interface through this interface, and SDK log file will be created by default. Creating handle through MV_CC_CreateHandleWithoutLog will not generate log files.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_CreateHandle(OUT void ** handle, IN const MV_CC_DEVICE_INFO* pstDevInfo);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @param handle [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevInfo [IN] <EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ͳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ģ<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>MV_CC_CreateHandle<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>
* @~english
* @brief Create Device Handle without log
* @param handle [OUT] Device handle
* @param pstDevInfo [IN] Device Information Structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Create required resources within library and initialize internal module according to input device information. Create handle and call SDK interface through this interface, and SDK log file will not be created. To create logs, create handle through MV_CC_CreateHandle, and log files will be automatically generated.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_CreateHandleWithoutLog(OUT void ** handle, IN const MV_CC_DEVICE_INFO* pstDevInfo);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Destroy Device Handle
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_DestroyHandle(IN void * handle);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nAccessMode [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param nSwitchoverKey [IN] <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>ʱ<EFBFBD>ɲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nAccessMode<EFBFBD><EFBFBD>nSwitchoverKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱĬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽΪ<EFBFBD><EFBFBD>ռȨ<EFBFBD>ޡ<EFBFBD>Ŀǰ<EFBFBD><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><EFBFBD>MV_ACCESS_ExclusiveWithSwitch<EFBFBD><EFBFBD>MV_ACCESS_ControlWithSwitch<EFBFBD><EFBFBD>MV_ACCESS_ControlSwitchEnable<EFBFBD><EFBFBD>MV_ACCESS_ControlSwitchEnableWithKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռģʽ<EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD><EFBFBD>nAccessMode<EFBFBD><EFBFBD>nSwitchoverKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
* @~english
* @brief Open Device
* @param handle [IN] Device handle
* @param nAccessMode [IN] Access Right
* @param nSwitchoverKey [IN] Switch key of access right
* @return Success, return MV_OK. Failure, return error code
* @remarks Find specific device and connect according to set device parameters. \n
When calling the interface, the input of nAccessMode and nSwitchoverKey is optional, and the device access mode is exclusive. Currently the device does not support the following preemption modes: MV_ACCESS_ExclusiveWithSwitch, MV_ACCESS_ControlWithSwitch, MV_ACCESS_ControlSwitchEnableWithKey.\n
For USB3Vision device, nAccessMode, nSwitchoverKey are invalid.
************************************************************************/
#ifndef __cplusplus
MV_CAMCTRL_API int __stdcall MV_CC_OpenDevice(IN void* handle, IN unsigned int nAccessMode, IN unsigned short nSwitchoverKey);
#else
MV_CAMCTRL_API int __stdcall MV_CC_OpenDevice(IN void* handle, IN unsigned int nAccessMode = MV_ACCESS_Exclusive, IN unsigned short nSwitchoverKey = 0);
#endif
/********************************************************************//**
* @~chinese
* @brief <EFBFBD>ر<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD>MV_CC_OpenDevice<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬿<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڶϿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Դ
* @~english
* @brief Close Device
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
* @remarks After connecting to device through MV_CC_OpenDevice, use this interface to disconnect and release resources.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_CloseDevice(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>true<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>ʧȥ<EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
* @~english
* @brief Is The Device Connected
* @param handle [IN] Device handle
* @return Connected, return true. Not Connected or DIsconnected, return false
***********************************************************************/
MV_CAMCTRL_API bool __stdcall MV_CC_IsDeviceConnected(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbOutput [IN] <EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_CreateHandle֮<EFBFBD>󼴿ɵ<EFBFBD><EFBFBD>á<EFBFBD> \n
ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><EFBFBD>ã<EFBFBD>\n
<EFBFBD><EFBFBD>ʽһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_RegisterImageCallBackEx<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>ء<EFBFBD>\n
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_GetOneFrameTimeout<EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʿ<EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Register the image callback function
* @param handle [IN] Device handle
* @param cbOutput [IN] Callback function pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks After MV_CC_CreateHandle, call this interface to set image data callback function.\n
There are two available image data acquisition modes, and cannot be used together: \n
Mode 1: Call MV_CC_RegisterImageCallBack to set image data callback function, and then callMV_CC_StartGrabbing to start acquiring. The acquired image data will return in the set callback function.\n
Mode 2: Call MV_CC_StartGrabbing to start acquiring, and then call MV_CC_GetOneFrameTimeout repeatedly in application layer to get frame data of specified pixel format. When getting frame data, the frequency of calling this interface should be controlled by upper layer application according to frame rate. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterImageCallBackEx(void* handle,
void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
void* pUser);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD>RGB
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbOutput [IN] <EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_CreateHandle֮<EFBFBD>󼴿ɵ<EFBFBD><EFBFBD>á<EFBFBD> \n
ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><EFBFBD>ã<EFBFBD>\n
<EFBFBD><EFBFBD>ʽһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_RegisterImageCallBackForRGB<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGB24<EFBFBD><EFBFBD>ʽͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>ء<EFBFBD>\n
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_GetImageForRGB<EFBFBD><EFBFBD>ȡRGB24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʿ<EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief register image data callback, RGB
* @param handle [IN] Device handle
* @param cbOutput [IN] Callback function pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
There are two image acquisition modes, the two modes cannot be reused: \n
Mode 1: Call MV_CC_RegisterImageCallBackForRGB to set RGB24 format image data callback function, and then call MV_CC_StartGrabbing to start acquisition, the collected image data will be returned in the configured callback function.\n
Mode 2: Call MV_CC_StartGrabbing to start acquisition, and the call MV_CC_GetImageForRGB repeatedly in application layer to get frame data with RGB24 format. When getting frame data, the upper application program should control the frequency of calling this API according to frame rate. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterImageCallBackForRGB(void* handle,
void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
void* pUser);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD>BGR
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbOutput [IN] <EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_CreateHandle֮<EFBFBD>󼴿ɵ<EFBFBD><EFBFBD>á<EFBFBD>\n
ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><EFBFBD>ã<EFBFBD>\n
<EFBFBD><EFBFBD>ʽһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_RegisterImageCallBackForBGR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BGR24ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>ء<EFBFBD>\n
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_GetImageForBGR<EFBFBD><EFBFBD>ȡBGR24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʿ<EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief register image data callback, BGR
* @param handle [IN] Device handle
* @param cbOutput [IN] Callback function pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
There are two image acquisition modes, the two modes cannot be reused: \n
Mode 1: Call MV_CC_RegisterImageCallBackForBGR to set RGB24 format image data callback function, and then call MV_CC_StartGrabbing to start acquisition, the collected image data will be returned in the configured callback function.\n
Mode 2: Call MV_CC_StartGrabbing to start acquisition, and the call MV_CC_GetImageForBGR repeatedly in application layer to get frame data with BGR24 format. When getting frame data, the upper application program should control the frequency of calling this API according to frame rate.\n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterImageCallBackForBGR(void* handle,
void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
void* pUser);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ʼȡ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Start Grabbing
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_StartGrabbing(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief ֹͣȡ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Stop Grabbing
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_StopGrabbing(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡһ֡RGB<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ѯʽ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><EFBFBD>ò<EFBFBD>ѯ<EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pData [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param nDataSize [IN] <EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param pstFrameInfo [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @param nMsec [IN] <EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ÿ<EFBFBD>ε<EFBFBD><EFBFBD>øýӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGB24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͼ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGB24<EFBFBD><EFBFBD>ʽ<EFBFBD>к<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ýӿڿ<EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD>øýӿڻ<EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮֡ǰ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get one frame of RGB data, this function is using query to get data
query whether the internal cache has data, get data if there has, return error code if no data
* @param handle [IN] Device handle
* @param pData [OUT] Image data receiving buffer
* @param nDataSize [IN] Buffer size
* @param pstFrameInfo [OUT] Image information structure
* @param nMsec [IN] Waiting timeout
* @return Success, return MV_OK. Failure, return error code
* @remarks Each time the API is called, the internal cache is checked for data. If there is data, it will be transformed as RGB24 format for return, if there is no data, return error code. As time-consuming exists when transform the image to RGB24 format, this API may cause frame loss when the data frame rate is too high. \n
Before calling this API to get image data frame, call MV_CC_StartGrabbing to start image acquisition. This API can get frame data actively, the upper layer program should control the frequency of calling this API according to the frame rate. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetImageForRGB(IN void* handle, IN OUT unsigned char * pData , IN unsigned int nDataSize, IN OUT MV_FRAME_OUT_INFO_EX* pstFrameInfo, int nMsec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡһ֡BGR<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ѯʽ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><EFBFBD>ò<EFBFBD>ѯ<EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pData [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param nDataSize [IN] <EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param pstFrameInfo [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @param nMsec [IN] <EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ÿ<EFBFBD>ε<EFBFBD><EFBFBD>øýӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BGR24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͼ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BGR24<EFBFBD><EFBFBD>ʽ<EFBFBD>к<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ýӿڿ<EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD> \n
<EFBFBD><EFBFBD><EFBFBD>øýӿڻ<EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮֡ǰ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD>\n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get one frame of BGR data, this function is using query to get data
query whether the internal cache has data, get data if there has, return error code if no data
* @param handle [IN] Device handle
* @param pData [OUT] Image data receiving buffer
* @param nDataSize [IN] Buffer size
* @param pstFrameInfo [OUT] Image information structure
* @param nMsec [IN] Waiting timeout
* @return Success, return MV_OK. Failure, return error code
* @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
There are two image acquisition modes, the two modes cannot be reused: \n
Mode 1: Call MV_CC_RegisterImageCallBackForBGR to set RGB24 format image data callback function, and then call MV_CC_StartGrabbing to start acquisition, the collected image data will be returned in the configured callback function.\n
Mode 2: Call MV_CC_StartGrabbing to start acquisition, and the call MV_CC_GetImageForBGR repeatedly in application layer to get frame data with BGR24 format. When getting frame data, the upper application program should control the frequency of calling this API according to frame rate. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetImageForBGR(IN void* handle, IN OUT unsigned char * pData , IN unsigned int nDataSize, IN OUT MV_FRAME_OUT_INFO_EX* pstFrameInfo, int nMsec);
/********************************************************************//**
* @~chinese
* @brief ʹ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡһ֡ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_Display<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱʹ<EFBFBD>ã<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFrame [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param nMsec [IN] <EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>INFINITEʱ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>޵ȴ<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>һ֡<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD>ֹͣȡ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD>øýӿڻ<EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮֡ǰ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD><EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD>ȴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ϸߵij<EFBFBD><EFBFBD>ϡ<EFBFBD> \n
<EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>MV_CC_FreeImageBuffer<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>MV_CC_FreeImageBuffer<EFBFBD>ӿڽ<EFBFBD>pFrame<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ȩ<EFBFBD>޽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷš<EFBFBD> \n
<EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>MV_CC_GetOneFrameTimeout<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD>ߵ<EFBFBD>Ч<EFBFBD>ʡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sdk<EFBFBD>ڲ<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>MV_CC_GetOneFrameTimeout<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD>\n
<EFBFBD>ýӿ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_Display<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n
<EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD>GIGE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get a frame of an image using an internal cache
* @param handle [IN] Device handle
* @param pstFrame [OUT] Image data and image information
* @param nMsec [IN] Waiting timeout
* @return Success, return MV_OK. Failure, return error code
* @remarks Before calling this API to get image data frame, you should call MV_CC_StartGrabbing to start image acquisition. This API can get frame data actively, the upper layer program should control the frequency of calling this API according to the frame rate. This API support setting timeout, and SDK will wait to return until data appears. This function will increase the streaming stability, which can be used in the situation with high stability requirement. \n
This API and MV_CC_FreeImageBuffer should be called in pairs, after processing the acquired data, you should call MV_CC_FreeImageBuffer to release the data pointer permission of pFrame. \n
This interface is more efficient than MV_CC_GetOneFrameTimeout. The allocation of the stream cache is automatically allocated within the SDK.The MV_CC_GetOneFrameTimeout interface needs to be allocated by customers themselves. \n
This API cannot be called to stream after calling MV_CC_Display. \n
This API is not supported by CameraLink device. \n
This API is supported by both USB3 vision camera and GigE camera. \n
**********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetImageBuffer(IN void* handle, OUT MV_FRAME_OUT* pstFrame, IN unsigned int nMsec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD>ͷ<EFBFBD>ͼ<EFBFBD>񻺴<EFBFBD>(<EFBFBD>˽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŲ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ͼ<EFBFBD>񻺴<EFBFBD><EFBFBD>MV_CC_GetImageBuffer<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>)
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFrame [IN] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>MV_CC_GetImageBuffer<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD>ʹ<EFBFBD><EFBFBD>MV_CC_GetImageBuffer<EFBFBD>ӿ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pFrame<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>MV_CC_FreeImageBuffer<EFBFBD>ӿڽ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD>ͷš<EFBFBD> \n
<EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ч<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD>GetOneFrameTimeout<EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>GetImageBuffer<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Free<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SetImageNode<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>Ĭ<EFBFBD>Ͻڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>\n
<EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD>GIGE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Free image buffer(this interface can free image buffer, used with MV_CC_GetImageBuffer)
* @param handle [IN] Device handle
* @param pstFrame [IN] Image data and image information
* @return Success, return MV_OK. Failure, return error code
* @remarks This API and MV_CC_GetImageBuffer should be called in pairs, before calling MV_CC_GetImageBuffer to get image data pFrame, you should call MV_CC_FreeImageBuffer to release the permission. \n
Compared with API MV_CC_GetOneFrameTimeout, this API has higher efficiency of image acquisition. The max. number of nodes can be outputted is same as the "nNum" of API MV_CC_SetImageNodeNum, default value is 1. \n
This API is not supported by CameraLink device. \n
This API is supported by both USB3 vision camera and GigE camera.
**********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FreeImageBuffer(IN void* handle, IN MV_FRAME_OUT* pstFrame);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ȡһ֡ͼƬ<EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD>ȴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pData [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param nDataSize [IN] <EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param pstFrameInfo [OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @param nMsec [IN] <EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD>øýӿڻ<EFBFBD>ȡͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮֡ǰ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ȡ֡<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺõ<EFBFBD><EFBFBD>øýӿڵ<EFBFBD>Ƶ<EFBFBD>ʡ<EFBFBD><EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD>ȴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ϸߵij<EFBFBD><EFBFBD>ϡ<EFBFBD>\n
<EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD>GIGE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>\n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Timeout mechanism is used to get image, and the SDK waits inside until the data is returned
* @param handle [IN] Device handle
* @param pData [OUT] Image data receiving buffer
* @param nDataSize [IN] Buffer size
* @param pstFrameInfo [OUT] Image information structure
* @param nMsec [IN] Waiting timeout
* @return Success, return MV_OK. Failure, return error code
* @remarks Before calling this API to get image data frame, call MV_CC_StartGrabbing to start image acquisition. This API can get frame data actively, the upper layer program should control the frequency of calling this API according to the frame rate. This API supports setting timeout, SDK will wait to return until data appears. This function will increase the streaming stability, which can be used in the situation with high stability requirement. \n
Both the USB3Vision and GIGE camera can support this API. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetOneFrameTimeout(IN void* handle, IN OUT unsigned char* pData , IN unsigned int nDataSize, IN OUT MV_FRAME_OUT_INFO_EX* pstFrameInfo, unsigned int nMsec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ڲ<EFBFBD>ֹͣȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>򣬾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD>󣬿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
* @~english
* @brief if Image buffers has retrieved the data<EFBFBD><EFBFBD>Clear them
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface allows user to clear the unnecessary images from the buffer memory without stopping acquisition. \n
This interface allows user to clear previous data after switching from continuous mode to trigger mode.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_ClearImageBuffer(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ʾһ֡ͼ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDisplayInfo [IN] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD>GIGE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֡<EFBFBD>\n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Display one frame image
* @param handle [IN] Device handle
* @param pstDisplayInfo [IN] Frame Info
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is valid for USB3Vision camera and GIGE camera. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_DisplayOneFrame(IN void* handle, IN MV_DISPLAY_FRAME_INFO* pstDisplayInfo);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD>ͼ<EFBFBD>񻺴<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץͼǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nNum [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD>ͼ<EFBFBD>񻺴<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD>ʼץͼǰ<EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>\n
<EFBFBD><EFBFBD>SDK<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>ڵ\n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Set the number of the internal image cache nodes in SDK, Greater than or equal to 1, to be called before the capture
* @param handle [IN] Device handle
* @param nNum [IN] Image Node Number
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this interface to set the number of SDK internal image buffer nodes. The interface should be called before calling MV_CC_StartGrabbing for capturing. \n
This API is not supported by CameraLink device.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetImageNodeNum(IN void* handle, unsigned int nNum);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param enGrabStrategy [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>񡣾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
-OneByOne:<EFBFBD>Ӿɵ<EFBFBD><EFBFBD><EFBFBD>һ֡һ֡<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>л<EFBFBD>ȡͼ<EFBFBD>񣬴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>
-LatestImagesOnly:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>һ֡ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
-LatestImages:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>OutputQueueSize֡ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OutputQueueSize<EFBFBD><EFBFBD>ΧΪ1-ImageNodeNum<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_SetOutputQueueSize<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ImageNodeNumĬ<EFBFBD><EFBFBD>Ϊ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_SetImageNodeNum<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OutputQueueSize<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>1<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>LatestImagesOnly<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>OutputQueueSize<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ImageNodeNum<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>OneByOne<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-UpcomingImage:<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>񣬲<EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>һ֡ͼ<EFBFBD>񡣸ò<EFBFBD><EFBFBD><EFBFBD>ֻ֧<EFBFBD><EFBFBD>GigE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>U3V<EFBFBD>
* @~english
* @brief Set Grab Strategy
* @param handle [IN] Device handle
* @param enGrabStrategy [IN] The value of Grab Strategy
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is set by four image acquisition approaches, the user may choose one as needed. Specific details are as followed:
-OneByOne:Obtain image from output cache list frame by frame in order, this function is default strategy when device is on.
-LatestImagesOnly:Obtain the latest image from output cache list only, meanwhile clear output cache list.
-LatestImages:Obtain the latest OutputQueueSize image from output cache list, the range of OutputQueueSize is 1-ImageNodeNum, the user may set the value of MV_CC_SetOutputQueueSizeinterface,the default value of ImageNodeNum is 1,If the user usesMV_CC_SetImageNodeNuminterface to set up OutputQueueSize,when the value of OutputQueueSize is set to be 1, the function will be same as LatestImagesOnly; if the value of OutputQueueSize is set to be ImageNodeNum, the function will be same as OneByOne.
-UpcomingImage:Ignore all images in output cache list when calling image acuiqisiotn interface, wait the next upcoming image generated. Support for GigE camera only, not support for U3V camera.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetGrabStrategy(IN void* handle, IN MV_GRAB_STRATEGY enGrabStrategy);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_GrabStrategy_LatestImages<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>1-ImageNodeNum<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nOutputQueueSize [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LatestImagesȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LatestImages<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Set The Size of Output Queue(Only work under the strategy of MV_GrabStrategy_LatestImages<EFBFBD><EFBFBD>rang<EFBFBD><EFBFBD>1-ImageNodeNum)
* @param handle [IN] Device handle
* @param nOutputQueueSize [IN] The Size of Output Queue
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface must be used with LatestImages Grab strategy, it is used for setting the maximum allowance queue size of the image under the LatestImages strategy. The user may change the output queue size while grabbing images.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetOutputQueueSize(IN void* handle, IN unsigned int nOutputQueueSize);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevInfo [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ֧<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GigE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>øýӿڡ<EFBFBD>
* @~english
* @brief Get device information
* @param handle [IN] Device handle
* @param pstDevInfo [IN][OUT] Structure pointer of device information
* @return Success, return MV_OK. Failure, return error code
* @remarks The API support users to access device information after opening the device. \n
If the device is a GigE camera, there is a blocking risk in calling the interface, so it is not recommended to call the interface during the fetching process.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetDeviceInfo(IN void * handle, IN OUT MV_CC_DEVICE_INFO* pstDevInfo);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstInfo [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ָ<EFBFBD><EFBFBD>MV_ALL_MATCH_INFO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>nType<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_ALL_MATCH_INFO<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pInfo<EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD> \n
<EFBFBD>ýӿڵĵ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>ȡGigE<EFBFBD><EFBFBD><EFBFBD>MV_MATCH_TYPE_NET_DETECT<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD>ץͼ֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD>ȡU3V<EFBFBD><EFBFBD><EFBFBD>MV_MATCH_TYPE_USB_DETECT<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get various type of information
* @param handle [IN] Device handle
* @param pstInfo [IN][OUT] Structure pointer of various type of information
* @return Success, return MV_OK. Failure, return error code
* @remarks Input required information type (specify nType in structure MV_ALL_MATCH_INFO) in the interface and get corresponding information (return in pInfo of structure MV_ALL_MATCH_INFO). \n
The calling precondition of this interface is determined by obtained information type. Call after enabling capture to get MV_MATCH_TYPE_NET_DETECT information of GigE device, and call after starting device to get MV_MATCH_TYPE_USB_DETECT information of USB3Vision device. \n
This API is not supported by CameraLink device.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetAllMatchInfo(IN void* handle, IN OUT MV_ALL_MATCH_INFO* pstInfo);
/************************************************************************/
/* <20><><EFBFBD>úͻ<C3BA>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽӿ<DCBD> */
/* General interface for getting and setting camera parameters */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡInteger<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ϊ"Width"
* @param pstIntValue [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡint<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IInteger<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Get Integer value
* @param handle [IN] Device handle
* @param strKey [IN] Key value, for example, using "Width" to get width
* @param pstIntValue [IN][OUT] Structure pointer of camera features
* @return Success, return MV_OK. Failure, return error code
* @remarks You can call this API to get the value of camera node with integer type after connecting the device. For strKey value, refer to MvCameraNode. All the node values of "IInteger" in the list can be obtained via this API. strKey corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetIntValueEx(IN void* handle,IN const char* strKey,OUT MVCC_INTVALUE_EX *pstIntValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Integer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ϊ"Width"
* @param nValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>int<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IInteger<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set Integer value
* @param handle [IN] Device handle
* @param strKey [IN] Key value, for example, using "Width" to set width
* @param nValue [IN] Feature value to set
* @return Success, return MV_OK. Failure, return error code
* @remarks You can call this API to get the value of camera node with integer type after connecting the device. For strKey value, refer to MvCameraNode. All the node values of "IInteger" in the list can be obtained via this API. strKey corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetIntValueEx(IN void* handle,IN const char* strKey,IN int64_t nValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡEnum<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ϊ"PixelFormat"
* @param pstEnumValue [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡEnum<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IEnumeration<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Get Enum value
* @param handle [IN] Device handle
* @param strKey [IN] Key value, for example, using "PixelFormat" to get pixel format
* @param pstEnumValue [IN][OUT] Structure pointer of camera features
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to get specified Enum nodes. For value of strKey, see MvCameraNode, The node values of IEnumeration can be obtained through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetEnumValue(IN void* handle,IN const char* strKey,OUT MVCC_ENUMVALUE *pstEnumValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Enum<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ϊ"PixelFormat"
* @param nValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Enum<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IEnumeration<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set Enum value
* @param handle [IN] Device handle
* @param strKey [IN] Key value, for example, using "PixelFormat" to set pixel format
* @param nValue [IN] Feature value to set
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to get specified Enum nodes. For value of strKey, see MvCameraNode, The node values of IEnumeration can be obtained through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetEnumValue(IN void* handle,IN const char* strKey,IN unsigned int nValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Enum<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ϊ"PixelFormat"
* @param strValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Enum<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IEnumeration<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set Enum value
* @param handle [IN] Device handle
* @param strKey [IN] Key value, for example, using "PixelFormat" to set pixel format
* @param strValue [IN] Feature String to set
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this API after connecting the device. All the values of nodes with IEnumeration type can be set via this API.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetEnumValueByString(IN void* handle,IN const char* strKey,IN const char* strValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡFloat<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param pstFloatValue [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡfloat<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IFloat<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Get Float value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param pstFloatValue [IN][OUT] Structure pointer of camera features
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to get specified float node. For detailed strKey value see: MvCameraNode. The node values of IFloat can be obtained through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetFloatValue(IN void* handle,IN const char* strKey,OUT MVCC_FLOATVALUE *pstFloatValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param fValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>float<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IFloat<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set float value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param fValue [IN] Feature value to set
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set specified float node. For detailed strKey value see: MvCameraNode. The node values of IFloat can be set through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetFloatValue(IN void* handle,IN const char* strKey,IN float fValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡBoolean<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param pbValue [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡbool<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IBoolean<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Get Boolean value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param pbValue [IN][OUT] Structure pointer of camera features
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to get specified bool nodes. For value of strKey, see MvCameraNode. The node values of IBoolean can be obtained through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetBoolValue(IN void* handle,IN const char* strKey,OUT bool *pbValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Boolean<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param bValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bool<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IBoolean<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set Boolean value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param bValue [IN] Feature value to set
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set specified bool nodes. For value of strKey, see MvCameraNode. The node values of IBoolean can be set through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetBoolValue(IN void* handle,IN const char* strKey,IN bool bValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡString<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param pstStringValue [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡstring<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IString<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Get String value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param pstStringValue [IN][OUT] Structure pointer of camera features
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to get specified string nodes. For value of strKey, see MvCameraNode. The node values of IString can be obtained through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetStringValue(IN void* handle,IN const char* strKey,OUT MVCC_STRINGVALUE *pstStringValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>String<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @param strValue [IN] <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>string<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>strKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>IString<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Set String value
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @param strValue [IN] Feature value to set
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set specified string nodes. For value of strKey, see MvCameraNode. The node values of IString can be set through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetStringValue(IN void* handle,IN const char* strKey,IN const char* strValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Command<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strKey [IN] <EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Command<EFBFBD><EFBFBD><EFBFBD>ͽڵstrKeyȡֵ<EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD>XML<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ICommand<EFBFBD><EFBFBD><EFBFBD>Ľڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>strKey<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD>һ<EFBFBD>С<EFBFBD>
* @~english
* @brief Send Command
* @param handle [IN] Device handle
* @param strKey [IN] Key value
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set specified Command nodes. For value of strKey, see MvCameraNode. The node values of ICommand can be set through this interface, strKey value corresponds to the Name column.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetCommandValue(IN void* handle,IN const char* strKey);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>GenICam<EFBFBD>ڵ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Invalidate GenICam Nodes
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_InvalidateNodes(IN void* handle);
/************************************************************************/
/* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD> <20><> <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>д <20><><EFBFBD><EFBFBD><ECB3A3><EFBFBD>¼<EFBFBD><C2BC>ص<EFBFBD> */
/* Device upgrade, register read and write and exception callback */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strFilePathName [IN] <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ٷ<EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>Ӧʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽϳ<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Device Local Upgrade
* @param handle [IN] Device handle
* @param strFilePathName [IN] File name
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this API to send the upgrade firmware to the device for upgrade. This API will wait for return until the upgrade firmware is sent to the device, this response may take a long time. \n
For CameraLink device, it keeps sending upgrade firmware continuously.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_LocalUpgrade(IN void* handle, const void* strFilePathName);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnProcess [OUT] <EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD>յ<EFBFBD>ַ
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get Upgrade Progress
* @param handle [IN] Device handle
* @param pnProcess [OUT] Progress receiving address
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetUpgradeProcess(IN void* handle, unsigned int* pnProcess);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pBuffer [IN][OUT] <EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ֵ<EFBFBD><EFBFBD>GEV<EFBFBD><EFBFBD>ڴ<EFBFBD>ֵ<EFBFBD>ǰ<EFBFBD><EFBFBD>մ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>˴<EFBFBD><EFBFBD>
* @param nAddress [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Camera.xml<EFBFBD>ļ<EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xxx_RegAddr<EFBFBD><EFBFBD>xml<EFBFBD>ڵ<EFBFBD>ֵ
* @param nLength [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡij<EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
* @~english
* @brief Read Memory
* @param handle [IN] Device Handle
* @param pBuffer [IN][OUT] Used as a return value, save the read-in memory value ( Memory value is stored in accordance with the big end model)
* @param nAddress [IN] Memory address to be read, which can be obtained from the Camera.xml file of the device, the form xml node value of xxx_RegAddr
* @param nLength [IN] Length of the memory to be read
* @return Success, return MV_OK. Failure, return error code
* @remarks Access device, read the data from certain register.
*************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_ReadMemory(IN void* handle , void *pBuffer, int64_t nAddress, int64_t nLength);
/********************************************************************//**
* @~chinese
* @brief д<EFBFBD>ڴ<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pBuffer [IN] <EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ֵ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>GEV<EFBFBD><EFBFBD>ڴ<EFBFBD>ֵҪ<EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>˴<EFBFBD><EFBFBD>
* @param nAddress [IN] <EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Camera.xml<EFBFBD>ļ<EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xxx_RegAddr<EFBFBD><EFBFBD>xml<EFBFBD>ڵ<EFBFBD>ֵ
* @param nLength [IN] <EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ij<EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Write Memory
* @param handle [IN] Device Handle
* @param pBuffer [IN] Memory value to be written ( Note the memory value to be stored in accordance with the big end model)
* @param nAddress [IN] Memory address to be written, which can be obtained from the Camera.xml file of the device, the form xml node value of xxx_RegAddr
* @param nLength [IN] Length of the memory to be written
* @return Success, return MV_OK. Failure, return error code
* @remarks Access device, write a piece of data into a certain segment of register.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_WriteMemory(IN void* handle, const void *pBuffer, int64_t nAddress, int64_t nLength);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbException [IN] <EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>MV_CC_OpenDevice<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>GigE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_CloseDevice<EFBFBD>ӿڹر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_OpenDevice<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Register Exception Message CallBack, call after open device
* @param handle [IN] Device handle
* @param cbException [IN] Exception Message CallBack Function Pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this interface after the device is opened by MV_CC_OpenDevice. When device is exceptionally disconnected, the exception message can be obtained from callback function. For Disconnected GigE device, first call MV_CC_CloseDevice to shut device, and then call MV_CC_OpenDevice to reopen the device.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterExceptionCallBack(IN void* handle,
void(__stdcall* cbException)(unsigned int nMsgType, void* pUser), void* pUser);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbEvent [IN] <EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Register event callback, which is called after the device is opened
* @param handle [IN] Device handle
* @param cbEvent [IN] Event CallBack Function Pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this API to set the event callback function to get the event information, e.g., acquisition, exposure, and so on. \n
This API is not supported by CameraLink device.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterAllEventCallBack(void* handle, void(__stdcall* cbEvent)(MV_EVENT_OUT_INFO * pEventInfo, void* pUser), void* pUser);
/********************************************************************//**
* @~chinese
* @brief ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strEventName [IN] <EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param cbEvent [IN] <EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param pUser [IN] <EFBFBD>û<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>\n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Register single event callback, which is called after the device is opened
* @param handle [IN] Device handle
* @param strEventName [IN] Event name
* @param cbEvent [IN] Event CallBack Function Pointer
* @param pUser [IN] User defined variable
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this API to set the event callback function to get the event information, e.g., acquisition, exposure, and so on. \n
This API is not supported by CameraLink device .
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RegisterEventCallBackEx(void* handle, const char* strEventName,
void(__stdcall* cbEvent)(MV_EVENT_OUT_INFO * pEventInfo, void* pUser), void* pUser);
/************************************************************************/
/* GigEVision <20><EFBFBD><E8B1B8><EFBFBD>еĽӿ<C4BD> */
/* GigEVision device specific interface */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief ǿ<EFBFBD><EFBFBD>IP
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nIP [IN] <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>IP
* @param nSubNetMask [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nDefaultGateWay [IN] Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪDHCP<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿ<EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Force IP
* @param handle [IN] Device handle
* @param nIP [IN] IP to set
* @param nSubNetMask [IN] Subnet mask
* @param nDefaultGateWay [IN] Default gateway
* @return Success, return MV_OK. Failure, return error code
* @remarks Force setting camera network parameter (including IP address, subnet mask, default gateway). After forced setting, device handle should be created again. This function is only supported by GigEVision camera.\n
If device is in DHCP status, after calling this API to force setting camera network parameter, the device will restart.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_ForceIpEx(IN void* handle, unsigned int nIP, unsigned int nSubNetMask, unsigned int nDefaultGateWay);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD>ʽ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nType [IN] IP<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD>MV_IP_CFG_x
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DHCP<EFBFBD><EFBFBD>LLA<EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief IP configuration method
* @param handle [IN] Device handle
* @param nType [IN] IP type, refer to MV_IP_CFG_x
* @return Success, return MV_OK. Failure, return error code
* @remarks Send command to set camera IP mode, such as DHCP and LLA, only supported by GigEVision.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetIpConfig(IN void* handle, unsigned int nType);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD>ʹ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ģʽ,type: MV_NET_TRANS_x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>driver
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nType [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_NET_TRANS_x
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief Set to use only one mode,type: MV_NET_TRANS_x. When do not set, priority is to use driver by default
* @param handle [IN] Device handle
* @param nType [IN] Net transmission mode, refer to MV_NET_TRANS_x
* @return Success, return MV_OK. Failure, return error code
* @remarksSet SDK internal priority network mode through this interface, drive mode by default, only supported by GigEVision camera.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetNetTransMode(IN void* handle, unsigned int nType);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstInfo [OUT] <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief Get net transmission information
* @param handle [IN] Device handle
* @param pstInfo [OUT] Information Structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Get network transmission information through this API, including received data size, number of lost frames. Call this API after starting image acquiring through MV_CC_StartGrabbing. This API is supported only by GigEVision Camera.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetNetTransInfo(IN void* handle, MV_NETTRANS_INFO* pstInfo);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nMode [IN] <EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Ĭ<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-<EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>ֻ<EFBFBD><EFBFBD>GigE<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
* @~english
* @brief Setting the ACK mode of devices Discovery.
* @param nMode [IN] ACK mode<EFBFBD><EFBFBD>Default-Broadcast<EFBFBD><EFBFBD>,0-Unicast,1-Broadcast.
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is ONLY effective on GigE cameras. \n
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetDiscoveryMode(unsigned int nMode);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>GVSPȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nMillisec [IN] <EFBFBD><EFBFBD>ʱʱ<EFBFBD>Ĭ<EFBFBD><EFBFBD>300ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>>10ms
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GVSPȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD>GVSPȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Set GVSP streaming timeout
* @param handle [IN] Device handle
* @param nMillisec [IN] Timeout, default 300ms, range: >10ms
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, and just before start streaming,
* call this interface to set GVSP streaming timeout value.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvspTimeout(void* handle, unsigned int nMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡGVSPȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnMillisec [OUT] <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>λ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>GVSPȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @~english
* @brief Get GVSP streaming timeout
* @param handle [IN] Device handle
* @param pnMillisec [OUT] Timeout, ms as unit
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to get the current GVSP streaming timeout.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvspTimeout(IN void* handle, unsigned int* pnMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>GVCP<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nMillisec [IN] <EFBFBD><EFBFBD>ʱʱ<EFBFBD>Ĭ<EFBFBD><EFBFBD>500ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0-10000ms
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GVCP<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD>
* @~english
* @brief Set GVCP cammand timeout
* @param handle [IN] Device handle
* @param nMillisec [IN] Timeout, default 500ms, range: 0-10000ms
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set GVCP command timeout time.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetGvcpTimeout(void* handle, unsigned int nMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡGVCP<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnMillisec [OUT] <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>λ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>GVCP<EFBFBD><EFBFBD>ʱʱ<EFBFBD>
* @~english
* @brief Get GVCP cammand timeout
* @param handle [IN] Device handle
* @param pnMillisec [OUT] Timeout, ms as unit
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to get the current GVCP timeout.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetGvcpTimeout(IN void* handle, unsigned int* pnMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>GVCP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nRetryGvcpTimes [IN] <EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>0-100
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GVCP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD>ΧΪ0-100<EFBFBD><EFBFBD>
* @~english
* @brief Set the number of retry GVCP cammand
* @param handle [IN] Device handle
* @param nRetryGvcpTimes [IN] The number of retries<EFBFBD><EFBFBD>rang<EFBFBD><EFBFBD>0-100
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to increase The Times of retransmission when GVCP packet transmission is abnormal,and to some extent, it can avoid dropping the camera, with a range of 0-100.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetRetryGvcpTimes(IN void* handle, unsigned int nRetryGvcpTimes);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ش<EFBFBD>GVCP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnRetryGvcpTimes [OUT] <EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>GVCP<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>3<EFBFBD>Ρ<EFBFBD>
* @~english
* @brief Get the number of retry GVCP cammand
* @param handle [IN] Device handle
* @param pnRetryGvcpTimes [OUT] The number of retries
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to get the current number of GVCP retransmissions, which defaults to 3.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetRetryGvcpTimes(IN void* handle, unsigned int* pnRetryGvcpTimes);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD>packet size<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>Ŀǰֻ֧<EFBFBD><EFBFBD>GigE<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>packetsize
* @remarks <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD>packet size<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӦGigEVision<EFBFBD><EFBFBD><EFBFBD>SCPS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӦU3V<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>MV_CC_OpenDevice֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_StartGrabbing֮ǰ<EFBFBD><EFBFBD><EFBFBD>á<EFBFBD> \n
<EFBFBD>ýӿڲ<EFBFBD>֧<EFBFBD><EFBFBD>CameraLink<EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get the optimal Packet Size, Only support GigE Camera
* @param handle [IN] Device handle
* @return Optimal packetsize
* @remarks To get optimized packet size, for GigEVision device is SCPS, for USB3Vision device is the size of packet read from drive each time, and it is the size of a packet transported on the network. The interface should be called after MV_CC_OpenDevice and before MV_CC_StartGrabbing. \n
This API is not supported by CameraLink device.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetOptimalPacketSize(IN void* handle);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param bEnable [IN] <EFBFBD>Ƿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>
* @param nMaxResendPercent [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>
* @param nResendTimeout [IN] <EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief Set whethe to enable resend, and set resend
* @param handle [IN] Device handle
* @param bEnable [IN] enable resend
* @param nMaxResendPercent [IN] Max resend persent
* @param nResendTimeout [IN] Resend timeout
* @return Success, return MV_OK. Failure, return error code
* @remarks After the device is connected, call this interface to set resend packet properties, only supported by GigEVision camera.
************************************************************************/
#ifndef __cplusplus
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResend(void* handle, unsigned int bEnable, unsigned int nMaxResendPercent, unsigned int nResendTimeout);
#else
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResend(void* handle, unsigned int bEnable, unsigned int nMaxResendPercent = 10, unsigned int nResendTimeout = 50);
#endif
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nRetryTimes [IN] <EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>20
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_GIGE_SetResend<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD>MV_E_CALLORDER
* @~english
* @brief set the max resend retry times
* @param handle [IN] Device handle
* @param nRetryTimes [IN] The max times to retry resending lost packets<EFBFBD><EFBFBD>default 20
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
* otherwise would fail and return MV_E_CALLORDER.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendMaxRetryTimes(void* handle, unsigned int nRetryTimes);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnRetryTimes [OUT] <EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_GIGE_SetResend<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD>MV_E_CALLORDER
* @~english
* @brief get the max resend retry times
* @param handle [IN] Device handle
* @param pnRetryTimes [OUT] The max times to retry resending lost packets
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
* otherwise would fail and return MV_E_CALLORDER.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendMaxRetryTimes(void* handle, unsigned int* pnRetryTimes);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nMillisec [IN] ͬһ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>10ms
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_GIGE_SetResend<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD>MV_E_CALLORDER
* @~english
* @brief set time interval between same resend requests
* @param handle [IN] Device handle
* @param nMillisec [IN] The time interval between same resend requests,default 10ms
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
* otherwise would fail and return MV_E_CALLORDER.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetResendTimeInterval(void* handle, unsigned int nMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡͬһ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnMillisec [OUT] ͬһ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_GIGE_SetResend<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD>MV_E_CALLORDER
* @~english
* @brief get time interval between same resend requests
* @param handle [IN] Device handle
* @param pnMillisec [OUT] The time interval between same resend requests
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
* otherwise would fail and return MV_E_CALLORDER.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetResendTimeInterval(void* handle, unsigned int* pnMillisec);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param stTransmissionType [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>ģʽΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief Set transmission type,Unicast or Multicast
* @param handle [IN] Device handle
* @param stTransmissionType [IN] Struct of transmission type
* @return Success, return MV_OK. Failure, return error code
* @remarks Call this API to set the transmission mode as single cast mode and multicast mode. And this API is only valid for GigEVision camera.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_SetTransmissionType(void* handle, MV_TRANSMISSION_TYPE * pstTransmissionType);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstActionCmdInfo [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param pstActionCmdResults [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>б<EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD>GigEVision<EFBFBD>֧<EFBFBD>֡<EFBFBD>
* @~english
* @brief Issue Action Command
* @param pstActionCmdInfo [IN] Action Command
* @param pstActionCmdResults [OUT] Action Command Result List
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is supported only by GigEVision camera.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_IssueActionCommand(IN MV_ACTION_CMD_INFO* pstActionCmdInfo, OUT MV_ACTION_CMD_RESULT_LIST* pstActionCmdResults);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>״̬
* @param pstDevInfo [IN] <EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>
* @param pbStatus [OUT] <EFBFBD>״̬,true:<EFBFBD>״̬<EFBFBD><EFBFBD>false:<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get Multicast Status
* @param pstDevInfo [IN] Device Information Structure
* @param pbStatus [OUT] Status of Multicast
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to determine whether the camera is currently in multicast state, and to solve the problem that the client needs to turn on the camera to determine multicast when enumerating.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_GIGE_GetMulticastStatus(IN MV_CC_DEVICE_INFO* pstDevInfo, OUT bool* pbStatus);
/************************************************************************/
/* CameraLink <20><EFBFBD><E8B1B8><EFBFBD>еĽӿ<C4BD> */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nBaudrate [IN] <EFBFBD><EFBFBD><EFBFBD>õIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ο<EFBFBD>CameraParams.h<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>#define MV_CAML_BAUDRATE_9600 0x00000001
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
* @~english
* @brief Set device baudrate using one of the CL_BAUDRATE_XXXX value
* @param handle [IN] Device handle
* @param nBaudrate [IN] baud rate to set. Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is supported only by CameraLink device.\n
This API support calls when devices are not connected.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CAML_SetDeviceBaudrate(IN void* handle, unsigned int nBaudrate);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnCurrentBaudrate [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣָ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ο<EFBFBD>CameraParams.h<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>#define MV_CAML_BAUDRATE_9600 0x00000001
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
* @~english
* @brief Returns the current device baudrate, using one of the CL_BAUDRATE_XXXX value
* @param handle [IN] Device handle
* @param pnCurrentBaudrate [OUT] Return pointer of baud rate to user. Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is supported only by CameraLink device.\n
This API support calls when devices are not connected.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CAML_GetDeviceBaudrate(IN void* handle,unsigned int* pnCurrentBaudrate);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnBaudrateAblity [OUT] ֧<EFBFBD>ֵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ο<EFBFBD>CameraParams.h<EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>MV_CAML_BAUDRATE_9600 0x00000001
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
* @~english
* @brief Returns supported baudrates of the combined device and host interface
* @param handle [IN] Device handle
* @param pnBaudrateAblity [OUT] Return pointer of the supported baudrates to user. 'OR' operation results of the supported baudrates. Refer to the 'CameraParams.h' for single value definitions, for example, MV_CAML_BAUDRATE_9600 0x00000001
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is supported only by CameraLink device.\n
This API support calls when devices are not connected.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CAML_GetSupportBaudrates(IN void* handle,unsigned int* pnBaudrateAblity);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nMillisec [IN] <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵȴ<EFBFBD>ʱ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>λΪms
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Sets the timeout for operations on the serial port
* @param handle [IN] Device handle
* @param nMillisec [IN] Timeout in [ms] for operations on the serial port.
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CAML_SetGenCPTimeOut(IN void* handle, unsigned int nMillisec);
/************************************************************************/
/* U3V <20><EFBFBD><E8B1B8><EFBFBD>еĽӿ<C4BD> */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTransferSize [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD>С, Byte<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ1M<EFBFBD><EFBFBD>rang<EFBFBD><EFBFBD>>=0x10000
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>CPUռ<EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>PC<EFBFBD>Ͳ<EFBFBD>ͬUSB<EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>ա<EFBFBD>
* @~english
* @brief Set transfer size of U3V device
* @param handle [IN] Device handle
* @param nTransferSize [IN] Transfer size<EFBFBD><EFBFBD>Byte<EFBFBD><EFBFBD>default<EFBFBD><EFBFBD>1M<EFBFBD><EFBFBD>rang<EFBFBD><EFBFBD>>=0x10000
* @return Success, return MV_OK. Failure, return error code
* @remarks Increasing the transmission packet size can reduce the CPU utilization at the time of fetching. However, different PCS and different USB extension CARDS have different compatibility, and if this parameter is set too large, there may be the risk of not getting the image.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_USB_SetTransferSize(IN void* handle, unsigned int nTransferSize);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡU3V<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnTransferSize [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD>Сָ<EFBFBD><EFBFBD>, Byte
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>U3V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>1M<EFBFBD><EFBFBD>
* @~english
* @brief Get transfer size of U3V device
* @param handle [IN] Device handle
* @param pnTransferSize [OUT] Transfer size<EFBFBD><EFBFBD>Byte
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to get the current U3V transfer packet size, default 1M.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_USB_GetTransferSize(IN void* handle, unsigned int* pnTransferSize);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>U3V<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTransferWays [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>1-10
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>PC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ֡<EFBFBD>ʡ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ضԸò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>PC<EFBFBD>Ͳ<EFBFBD>ͬ<EFBFBD><EFBFBD>USB<EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD>
* @~english
* @brief Set transfer ways of U3V device
* @param handle [IN] Device handle
* @param nTransferWays [IN] Transfer ways<EFBFBD><EFBFBD>rang<EFBFBD><EFBFBD>1-10
* @return Success, return MV_OK. Failure, return error code
* @remarks Users can adjust this parameter according to PC performance, camera image frame rate, image size, memory utilization and other factors. But different PCS and different USB expansion CARDS have different compatibility.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_USB_SetTransferWays(IN void* handle, unsigned int nTransferWays);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡU3V<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pnTransferWays [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK,ʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>U3V<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2000W<EFBFBD><EFBFBD><EFBFBD>MONO8Ĭ<EFBFBD><EFBFBD>Ϊ3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>YUVΪĬ<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGBΪĬ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>ڵ
* @~english
* @brief Get transfer ways of U3V device
* @param handle [IN] Device handle
* @param pnTransferWays [OUT] Transfer ways
* @return Success, return MV_OK. Failure, return error code
* @remarks This interface is used to get the current number of U3V asynchronous feed nodes. For 2000W camera, MONO8 defaults to 3, YUV defaults to 2, RGB defaults to 1, and other cases default to 8 nodes.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_USB_GetTransferWays(IN void* handle, unsigned int* pnTransferWays);
/************************************************************************/
/* GenTL<54><4C><EFBFBD>ؽӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڿ<D3BF><DABF>Ը<EFBFBD><D4B8>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ֽӿڲ<D3BF>֧<EFBFBD>֣<EFBFBD> */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief ͨ<EFBFBD><EFBFBD>GenTLö<EFBFBD><EFBFBD>Interfaces
* @param pstIFList [OUT] Interfaces<EFBFBD>б<EFBFBD>
* @param strGenTLPath [IN] GenTL<EFBFBD><EFBFBD>cti<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks Interfaces<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD>øýӿ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ö<EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Enumerate Interfaces with GenTL
* @param pstIFList [OUT] Interfaces List
* @param strGenTLPath [IN] GenTL cti file path
* @return Success, return MV_OK. Failure, return error code
* @remarks The memory of the Interfaces list is allocated within the SDK. When the interface is invoked by multiple threads, the memory of the device list will be released and applied.\n
It is recommended to avoid multithreaded enumeration operations as much as possible.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_EnumInterfacesByGenTL(IN OUT MV_GENTL_IF_INFO_LIST* pstIFList, IN const char * strGenTLPath);
/********************************************************************//**
* @~chinese
* @brief ͨ<EFBFBD><EFBFBD>GenTL Interfaceö<EFBFBD><EFBFBD><EFBFBD>
* @param pstIFInfo [IN] Interface<EFBFBD><EFBFBD>Ϣ
* @param pstDevList [OUT] <EFBFBD><EFBFBD>б<EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SDK<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD>øýӿ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ö<EFBFBD>ٲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Enumerate Devices with GenTL interface
* @param pstIFInfo [IN] Interface information
* @param pstDevList [OUT] Device List
* @return Success, return MV_OK. Failure, return error code
* @remarks The memory of the list is allocated within the SDK. When the interface is invoked by multiple threads, the memory of the device list will be released and applied.\n
It is recommended to avoid multithreaded enumeration operations as much as possible.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_EnumDevicesByGenTL(IN MV_GENTL_IF_INFO* pstIFInfo, IN OUT MV_GENTL_DEV_INFO_LIST* pstDevList);
/********************************************************************//**
* @~chinese
* @brief ͨ<EFBFBD><EFBFBD>GenTL<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDevInfo [IN] <EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ͳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ģ<EFBFBD>
* @~english
* @brief Create Device Handle with GenTL Device Info
* @param handle [OUT] Device handle
* @param pstDevInfo [IN] Device Information
* @return Success, return MV_OK. Failure, return error code
* @remarks Create required resources within library and initialize internal module according to input device information.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_CreateHandleByGenTL(OUT void ** handle, IN const MV_GENTL_DEV_INFO* pstDevInfo);
/************************************************************************/
/* XML<4D><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/* XML parse tree generation */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>XML
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pData [OUT] XML<EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD>
* @param nDataSize [IN] <EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
* @param pnDataLen [OUT] ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD>pDataΪNULL<EFBFBD><EFBFBD>nDataSize<EFBFBD><EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD>xml<EFBFBD>ļ<EFBFBD>Сʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>pnDataLen<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>\n
<EFBFBD><EFBFBD>pDataΪ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸû<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pnDataLen<EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD>ļ<EFBFBD>ʵ<EFBFBD>ʴ<EFBFBD>С<EFBFBD><EFBFBD>
* @~english
* @brief Get camera feature tree XML
* @param handle [IN] Device handle
* @param pData [OUT] XML data receiving buffer
* @param nDataSize [IN] Buffer size
* @param pnDataLen [OUT] Actual data length
* @return Success, return MV_OK. Failure, return error code
* @remarks When pData is NULL or nDataSize than the actual XML file hours, do not copy the data, returned by pnDataLen XML file size.\n
When pData is a valid cache address and the cache is large enough, copy the full data into the cache, and pnDataLen returns the actual size of the XML file.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_XML_GetGenICamXML(IN void* handle, IN OUT unsigned char* pData, IN unsigned int nDataSize, OUT unsigned int* pnDataLen);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>ڵ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ģʽ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strName [IN] <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param penAccessMode [OUT] <EFBFBD>ڵ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ģʽ
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Get Access mode of cur node
* @param handle [IN] Device handle
* @param strName [IN] Name of node
* @param penAccessMode [OUT] Access mode of the node
* @return Success, return MV_OK. Failure, return error code
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_XML_GetNodeAccessMode(IN void* handle, IN const char * strName, OUT MV_XML_AccessMode *penAccessMode);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strName [IN] <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param penInterfaceType [OUT] <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽӿ<EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ֪<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܽӿڽ<EFBFBD><EFBFBD>нڵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>úͻ<EFBFBD>ȡ<EFBFBD><EFBFBD>
* @~english
* @brief Get Interface Type of cur node
* @param handle [IN] Device handle
* @param strName [IN] Name of node
* @param penInterfaceType [OUT] Interface Type of the node
* @return Success, return MV_OK. Failure, return error code
* @remarks The interface can know the node type in advance before calling the universal interface, so as to facilitate users to select the appropriate universal interface for setting and obtaining the node value.
***********************************************************************/
MV_CAMCTRL_API int __stdcall MV_XML_GetNodeInterfaceType(IN void* handle, IN const char * strName, OUT MV_XML_InterfaceType *penInterfaceType);
/************************************************************************/
/* <20><><EFBFBD>ӽӿ<D3BD> */
/* Additional interface */
/************************************************************************/
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>Bmp<EFBFBD><EFBFBD>Jpeg.
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstSaveParam [IN][OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>JPEG<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BMP<EFBFBD>ȸ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>У<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>ת<EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ýӿڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޽ӿ<EFBFBD>˳<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ݾͿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_GetOneFrameTimeout<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_RegisterImageCallBackEx<EFBFBD><EFBFBD><EFBFBD>ûص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡһ֡ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD> \n
MV_CC_SaveImageEx2<EFBFBD><EFBFBD>MV_CC_SaveImageEx<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>handle<EFBFBD><EFBFBD>Ϊ<EFBFBD>˱<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڵ<EFBFBD>ͳһ<EFBFBD><EFBFBD>
* @~english
* @brief Save image, support Bmp and Jpeg.
* @param handle [IN] Device handle
* @param pstSaveParam [IN][OUT] Save image parameters structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Once there is image data, you can call this API to convert the data. \n
You can also call MV_CC_GetOneFrameTimeout or MV_CC_RegisterImageCallBackEx or MV_CC_GetImageBuffer to get one image frame and set the callback function, and then call this API to convert the format. \n
Comparing with the API MV_CC_SaveImageEx, this API added the parameter handle to ensure the unity with other API.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SaveImageEx2(IN void* handle, MV_SAVE_IMAGE_PARAM_EX* pstSaveParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstSaveFileParam [IN][OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>֧<EFBFBD><EFBFBD>BMP/JPEG/PNG/TIFF<EFBFBD><EFBFBD>
* @~english
* @brief Save the image file.
* @param handle [IN] Device handle
* @param pstSaveFileParam [IN][OUT] Save the image file parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API support BMP/JPEG/PNG/TIFF.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SaveImageToFile(IN void* handle, MV_SAVE_IMG_TO_FILE_PARAM* pstSaveFileParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>֧<EFBFBD><EFBFBD>PLY<EFBFBD><EFBFBD>CSV<EFBFBD><EFBFBD>OBJ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʽ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstPointDataParam [IN][OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks 3D<EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>PLY/CSV/OBJ<EFBFBD><EFBFBD>/n
Ŀǰ֧<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_ABC32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_ABC32f<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AB32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AB32f<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AC32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AC32f,<EFBFBD>ݲ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>
* @~english
* @brief Save 3D point data, support PLY<EFBFBD><EFBFBD>CSV and OBJ
* @param handle [IN] Device handle
* @param pstPointDataParam [IN][OUT] Save 3D point data parameters structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Save the 3D data format to 3D file format<EFBFBD><EFBFBD>support PLY<EFBFBD><EFBFBD>CSV and OBJ<EFBFBD><EFBFBD>/n
only support PixelType_Gvsp_Coord3D_ABC32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_ABC32f<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AB32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AB32f<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AC32<EFBFBD><EFBFBD>PixelType_Gvsp_Coord3D_AC32f,Other 3D format is not supported now.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SavePointCloudData(IN void* handle, MV_SAVE_POINT_CLOUD_PARAM* pstPointDataParam);
/********************************************************************//**
* @~chinese
* @brief ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstRotateParam [IN][OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>ֻ֧<EFBFBD><EFBFBD>MONO8/RGB24/BGR24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>90/180/270<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
* @~english
* @brief Rotate Image
* @param handle [IN] Device handle
* @param pstRotateParam [IN][OUT] Rotate image parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API only support 90/180/270 rotation of data in the MONO8/RGB24/BGR24 format.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_RotateImage(IN void* handle, IN OUT MV_CC_ROTATE_IMAGE_PARAM* pstRotateParam);
/********************************************************************//**
* @~chinese
* @brief ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFlipParam [IN][OUT] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>ֻ֧<EFBFBD><EFBFBD>MONO8/RGB24/BGR24<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ݵĴ<EFBFBD>ֱ<EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
* @~english
* @brief Flip Image
* @param handle [IN] Device handle
* @param pstFlipParam [IN][OUT] Flip image parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API only support vertical and horizontal reverse of data in the MONO8/RGB24/BGR24 format.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FlipImage(IN void* handle, IN OUT MV_CC_FLIP_IMAGE_PARAM* pstFlipParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽת<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstCvtParam [IN][OUT] <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>ýӿڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޽ӿ<EFBFBD>˳<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ݾͿ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_GetOneFrameTimeout<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_RegisterImageCallBackEx<EFBFBD><EFBFBD><EFBFBD>ûص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡһ֡ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD>ýӿ<EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ɼ<EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>JPEGѹ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><EFBFBD>øýӿڽ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n
* @~english
* @brief Pixel format conversion
* @param handle [IN] Device handle
* @param pstCvtParam [IN][OUT] Convert Pixel Type parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API is used to transform the collected original data to pixel format and save to specified memory. There is no order requirement to call this API, the transformation will execute when there is image data. First call MV_CC_GetOneFrameTimeout or MV_CC_RegisterImageCallBackEx to set callback function, and get a frame of image data, then call this API to transform the format. \n
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_ConvertPixelType(IN void* handle, IN OUT MV_CC_PIXEL_CONVERT_PARAM* pstCvtParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nBayerCvtQuality [IN] Bayer<EFBFBD>IJ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͼ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>ӿڵı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_CC_ConvertPixelType<EFBFBD><EFBFBD>MV_CC_SaveImageEx2<EFBFBD>ӿ<EFBFBD><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>õIJ<EFBFBD>ֵ<EFBFBD><EFBFBD>Ǹýӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD>
* @~english
* @brief Interpolation algorithm type setting
* @param handle [IN] Device handle
* @param nBayerCvtQuality [IN] Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal
* @return Success, return MV_OK. Failure, return error code
* @remarks Set the bell interpolation quality parameters of the internal image conversion interface, and the interpolation algorithm used in the MV CC ConvertPixelType and MV CC SaveImageEx2 interfaces is set by this interface.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCvtQuality(IN void* handle, IN unsigned int nBayerCvtQuality);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bayer<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Gammaֵ
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param fBayerGammaValue [IN] Gammaֵ[0.1,4.0]
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_ConvertPixelType<EFBFBD><EFBFBD>MV_CC_SaveImageEx2<EFBFBD>ӿڽ<EFBFBD>Bayer<EFBFBD><EFBFBD>ʽת<EFBFBD><EFBFBD>RGB24/BGR24/RGBA32/BGRA32ʱ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
* @~english
* @brief Set Gamma value after Bayer interpolation
* @param handle [IN] Device handle
* @param fBayerGammaValue [IN] Gamma value[0.1,4.0]
* @return Success, return MV_OK. Failure, return error code
* @remarks After setting the value, it work in the calling MV_CC_ConvertPixelType\MV_CC_SaveImageEx2 API convert Bayer to RGB24/BGR24/RGBA32/BGRA32.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerGammaValue(IN void* handle, IN float fBayerGammaValue);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bayer<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>ʹ<EFBFBD>ܺ;<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstCCMParam [IN] ɫ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>MV_CC_ConvertPixelType<EFBFBD><EFBFBD>MV_CC_SaveImageEx2<EFBFBD>ӿڽ<EFBFBD>Bayer<EFBFBD><EFBFBD>ʽת<EFBFBD><EFBFBD>RGB24/BGR24/RGBA32/BGRA32ʱ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
* @~english
* @brief Set CCM param after Bayer interpolation
* @param handle [IN] Device handle
* @param pstCCMParam [IN] Color correction parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks After enable the color correction and set the color correction matrix, It work in the calling MV_CC_ConvertPixelType\MV_CC_SaveImageEx2 API convert Bayer to RGB24/BGR24/RGBA32/BGRA32.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCCMParam(IN void* handle, IN MV_CC_CCM_PARAM* pstCCMParam);
/********************************************************************//**
* @~chinese
* @brief Bayer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstNoiseEstimateParam [IN][OUT] Bayer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>ֻ֧<EFBFBD><EFBFBD>Bayer8/Bayer10/Bayer12<EFBFBD><EFBFBD>ʽ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bayer<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Bayer8/Bayer10/Bayer12<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>\n
<EFBFBD>ýӿ<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD>ߺ󣬼<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>øýӿڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Noise estimate of Bayer format
* @param handle [IN] Device handle
* @param pstNoiseEstimateParam [IN][OUT] Noise estimate parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API only support Bayer8/Bayer10/Bayer12 format, other Bayer format must Convert to Bayer8/Bayer10/Bayer12 format.\n
This API is only available when the camera is turned on, and when the camera is disconnected or disconnected, continuing to use This API will return an error.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_BayerNoiseEstimate(IN void* handle, IN OUT MV_CC_BAYER_NOISE_ESTIMATE_PARAM* pstNoiseEstimateParam);
/********************************************************************//**
* @~chinese
* @brief Bayer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstSpatialDenoiseParam [IN][OUT] Bayer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD>ýӿ<EFBFBD>ֻ֧<EFBFBD><EFBFBD>Bayer8/Bayer10/Bayer12<EFBFBD><EFBFBD>ʽ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Bayer<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Bayer8/Bayer10/Bayer12<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>\n
<EFBFBD>ýӿ<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD>ߺ󣬼<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>øýӿڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Spatial Denoise of Bayer format
* @param handle [IN] Device handle
* @param pstSpatialDenoiseParam [IN][OUT] Spatial Denoise parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks This API only support Bayer8/Bayer10/Bayer12 format, other Bayer format must Convert to Bayer8/Bayer10/Bayer12 format.\n
This API is only available when the camera is turned on, and when the camera is disconnected or disconnected, continuing to use This API will return an error.
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_BayerSpatialDenoise(IN void* handle, IN OUT MV_CC_BAYER_SPATIAL_DENOISE_PARAM* pstSpatialDenoiseParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstDecodeParam [IN][OUT] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @remarks <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ͬʱ֧<EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮӡ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD><EFBFBD>ʵʱȡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ˮӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief High Bandwidth Decode
* @param handle [IN] Device handle
* @param pstDecodeParam [IN][OUT] High Bandwidth Decode parameter structure
* @return Success, return MV_OK. Failure, return error code
* @remarks Decode the lossless compressed data from the camera into raw data
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_HB_Decode(IN void* handle, IN OUT MV_CC_HB_DECODE_PARAM* pstDecodeParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strFileName [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Save camera feature
* @param handle [IN] Device handle
* @param strFileName [IN] File name
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FeatureSave(IN void* handle, IN const char* strFileName);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param strFileName [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Load camera feature
* @param handle [IN] Device handle
* @param strFileName [IN] File name
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FeatureLoad(IN void* handle, IN const char* strFileName);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFileAccess [IN] <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Read the file from the camera
* @param handle [IN] Device handle
* @param pstFileAccess [IN] File access structure
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FileAccessRead(IN void* handle, IN MV_CC_FILE_ACCESS * pstFileAccess);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFileAccess [IN] <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Write the file to camera
* @param handle [IN] Device handle
* @param pstFileAccess [IN] File access structure
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_FileAccessWrite(IN void* handle, IN MV_CC_FILE_ACCESS * pstFileAccess);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstFileAccessProgress [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @~english
* @brief Get File Access Progress
* @param handle [IN] Device handle
* @param pstFileAccessProgress [IN] File access Progress
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_GetFileAccessProgress(IN void* handle, OUT MV_CC_FILE_ACCESS_PROGRESS * pstFileAccessProgress);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD>ʼ¼<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstRecordParam [IN] ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Start Record
* @param handle [IN] Device handle
* @param pstRecordParam [IN] Record param structure
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_StartRecord(IN void* handle, IN MV_CC_RECORD_PARAM* pstRecordParam);
/********************************************************************//**
* @~chinese
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pstInputFrameInfo [IN] ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Input RAW data to Record
* @param handle [IN] Device handle
* @param pstInputFrameInfo [IN] Record data structure
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_InputOneFrame(IN void* handle, IN MV_CC_INPUT_FRAME_INFO * pstInputFrameInfo);
/********************************************************************//**
* @~chinese
* @brief ֹͣ¼<EFBFBD><EFBFBD>
* @param handle [IN] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MV_OK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @~english
* @brief Stop Record
* @param handle [IN] Device handle
* @return Success, return MV_OK. Failure, return error code
************************************************************************/
MV_CAMCTRL_API int __stdcall MV_CC_StopRecord(IN void* handle);
#ifdef __cplusplus
}
#endif
#endif //_MV_CAMERA_CTRL_H_