MvSdkExport.h 239 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790
  1. #ifndef _MV_SDK_EXPORT_H__
  2. #define _MV_SDK_EXPORT_H__
  3. #include "MvErrorDefine.h"
  4. #include "CameraParams.h"
  5. #include "ObsoleteCamParams.h"
  6. #ifndef MVSDKEXPORT_API
  7. #ifdef _WIN32
  8. #if defined(MVSDKEXPORT_EXPORTS)
  9. #define MVSDKEXPORT_API __declspec(dllexport)
  10. #else
  11. #define MVSDKEXPORT_API __declspec(dllimport)
  12. #endif
  13. #else
  14. #ifndef __stdcall
  15. #define __stdcall
  16. #endif
  17. #ifndef MVSDKEXPORT_API
  18. #define MVSDKEXPORT_API
  19. #endif
  20. #endif
  21. #endif
  22. #ifndef IN
  23. #define IN
  24. #endif
  25. #ifndef OUT
  26. #define OUT
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. /************************************************************************/
  32. /* 设备的基本指令和操作 */
  33. /* Camera basic instructions and operations */
  34. /************************************************************************/
  35. /********************************************************************//**
  36. * @~chinese
  37. * @brief 获取SDK版本号
  38. * @return 返回4字节版本号
  39. |主 |次 |修正 | 测试|
  40. 8bits 8bits 8bits 8bits
  41. * @remarks 比如返回值为0x01000001,即SDK版本号为V1.0.0.1。
  42. * @~english
  43. * @brief Get SDK Version
  44. * @return Always return 4 Bytes of version number
  45. |Main |Sub |Rev | Test|
  46. 8bits 8bits 8bits 8bits
  47. * @remarks For example, if the return value is 0x01000001, the SDK version is V1.0.0.1.
  48. ************************************************************************/
  49. MVSDKEXPORT_API unsigned int __stdcall MV_CC_GetSDKVersion();
  50. /********************************************************************//**
  51. * @~chinese
  52. * @brief 获取支持的传输层
  53. * @return 支持的传输层编号
  54. * @~english
  55. * @brief Get supported Transport Layer
  56. * @return Supported Transport Layer number
  57. ************************************************************************/
  58. MVSDKEXPORT_API int __stdcall MV_CC_EnumerateTls();
  59. /********************************************************************//**
  60. * @~chinese
  61. * @brief 枚举设备
  62. * @param nTLayerType [IN] 枚举传输层
  63. * @param pstDevList [OUT] 设备列表
  64. * @return 成功,返回MV_OK;错误,返回错误码
  65. * @remarks 设备列表的内存是在SDK内部分配的,多线程调用该接口时会进行设备列表内存的释放和申请,\n
  66. 建议尽量避免多线程枚举操作。
  67. * @~english
  68. * @brief Enumerate Device
  69. * @param nTLayerType [IN] Enumerate TLs
  70. * @param pstDevList [OUT] Device List
  71. * @return Success, return MV_OK. Failure, return error code
  72. * @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
  73. It is recommended to avoid multithreaded enumeration operations as much as possible.
  74. ************************************************************************/
  75. MVSDKEXPORT_API int __stdcall MV_CC_EnumDevices(IN unsigned int nTLayerType, IN OUT MV_CC_DEVICE_INFO_LIST* pstDevList);
  76. /********************************************************************//**
  77. * @~chinese
  78. * @brief 根据厂商名字枚举设备
  79. * @param nTLayerType [IN] 枚举传输层
  80. * @param pstDevList [OUT] 设备列表
  81. * @param strManufacturerName [IN] 厂商名字
  82. * @return 成功,返回MV_OK;错误,返回错误码
  83. * @remarks 设备列表的内存是在SDK内部分配的,多线程调用该接口时会进行设备列表内存的释放和申请,\n
  84. 建议尽量避免多线程枚举操作。
  85. * @~english
  86. * @brief Enumerate device according to manufacture name
  87. * @param nTLayerType [IN] Transmission layer of enumeration
  88. * @param pstDevList [OUT] Device list
  89. * @param strManufacturerName [IN] Manufacture Name
  90. * @return Success, return MV_OK. Failure, return error code
  91. * @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
  92. It is recommended to avoid multithreaded enumeration operations as much as possible.
  93. ************************************************************************/
  94. MVSDKEXPORT_API int __stdcall MV_CC_EnumDevicesEx(IN unsigned int nTLayerType, IN OUT MV_CC_DEVICE_INFO_LIST* pstDevList, IN const char* strManufacturerName);
  95. /********************************************************************//**
  96. * @~chinese
  97. * @brief 设备是否可达
  98. * @param pstDevInfo [IN] 设备信息结构体
  99. * @param nAccessMode [IN] 访问权限
  100. * @return 可达,返回true;不可达,返回false
  101. * @remarks 读取设备CCP寄存器的值,判断当前状态是否具有某种访问权限。 \n
  102. 如果设备不支持MV_ACCESS_ExclusiveWithSwitch、MV_ACCESS_ControlWithSwitch、MV_ACCESS_ControlSwitchEnableWithKey这三种模式,接口返回false。目前设备不支持这3种抢占模式,国际上主流的厂商的设备也都暂不支持这3种模式。 \n
  103. 该接口不支持CameraLink设备。
  104. * @~english
  105. * @brief Is the device accessible
  106. * @param pstDevInfo [IN] Device Information Structure
  107. * @param nAccessMode [IN] Access Right
  108. * @return Access, return true. Not access, return false
  109. * @remarks Read device CCP register value and determine current access permission.\n
  110. 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
  111. This API is not supported by CameraLink device.
  112. ************************************************************************/
  113. MVSDKEXPORT_API bool __stdcall MV_CC_IsDeviceAccessible(IN MV_CC_DEVICE_INFO* pstDevInfo, IN unsigned int nAccessMode);
  114. /********************************************************************//**
  115. * @~chinese
  116. * @brief 创建设备句柄
  117. * @param handle [OUT] 设备句柄
  118. * @param pstDevInfo [IN] 设备信息结构体
  119. * @return 成功,返回MV_OK;错误,返回错误码
  120. * @remarks 根据输入的设备信息,创建库内部必须的资源和初始化内部模块。通过该接口创建句柄,调用SDK接口,会默认生成SDK日志文件,如果不需要生成日志文件,可以通过MV_CC_CreateHandleWithoutLog创建句柄。
  121. * @~english
  122. * @brief Create Device Handle
  123. * @param handle [OUT] Device handle
  124. * @param pstDevInfo [IN] Device Information Structure
  125. * @return Success, return MV_OK. Failure, return error code
  126. * @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.
  127. ************************************************************************/
  128. MVSDKEXPORT_API int __stdcall MV_CC_CreateHandle(OUT void ** handle, IN const MV_CC_DEVICE_INFO* pstDevInfo);
  129. /********************************************************************//**
  130. * @~chinese
  131. * @brief 创建设备句柄,不生成日志
  132. * @param handle [OUT] 设备句柄
  133. * @param pstDevInfo [IN] 设备信息结构体
  134. * @return 成功,返回MV_OK;错误,返回错误码
  135. * @remarks 根据输入的设备信息,创建库内部必须的资源和初始化内部模块。通过该接口创建句柄,调用SDK接口,不会默认生成SDK日志文件,如果需要生成日志文件可以通过MV_CC_CreateHandle创建句柄,日志文件自动生成。
  136. * @~english
  137. * @brief Create Device Handle without log
  138. * @param handle [OUT] Device handle
  139. * @param pstDevInfo [IN] Device Information Structure
  140. * @return Success, return MV_OK. Failure, return error code
  141. * @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.
  142. ************************************************************************/
  143. MVSDKEXPORT_API int __stdcall MV_CC_CreateHandleWithoutLog(OUT void ** handle, IN const MV_CC_DEVICE_INFO* pstDevInfo);
  144. /********************************************************************//**
  145. * @~chinese
  146. * @brief 销毁设备句柄
  147. * @param handle [IN] 设备句柄
  148. * @return 成功,返回MV_OK;错误,返回错误码
  149. * @~english
  150. * @brief Destroy Device Handle
  151. * @param handle [IN] Device handle
  152. * @return Success, return MV_OK. Failure, return error code
  153. ************************************************************************/
  154. MVSDKEXPORT_API int __stdcall MV_CC_DestroyHandle(IN void * handle);
  155. /********************************************************************//**
  156. * @~chinese
  157. * @brief 打开设备
  158. * @param handle [IN] 设备句柄
  159. * @param nAccessMode [IN] 访问权限
  160. * @param nSwitchoverKey [IN] 切换访问权限时的密钥
  161. * @return 成功,返回MV_OK;错误,返回错误码
  162. * @remarks 根据设置的设备参数,找到对应的设备,连接设备。\n
  163. 调用接口时可不传入nAccessMode和nSwitchoverKey,此时默认设备访问模式为独占权限。目前设备暂不支持MV_ACCESS_ExclusiveWithSwitch、MV_ACCESS_ControlWithSwitch、MV_ACCESS_ControlSwitchEnable、MV_ACCESS_ControlSwitchEnableWithKey这四种抢占模式。\n
  164. 对于U3V设备,nAccessMode、nSwitchoverKey这两个参数无效。
  165. * @~english
  166. * @brief Open Device
  167. * @param handle [IN] Device handle
  168. * @param nAccessMode [IN] Access Right
  169. * @param nSwitchoverKey [IN] Switch key of access right
  170. * @return Success, return MV_OK. Failure, return error code
  171. * @remarks Find specific device and connect according to set device parameters. \n
  172. 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
  173. For USB3Vision device, nAccessMode, nSwitchoverKey are invalid.
  174. ************************************************************************/
  175. MVSDKEXPORT_API int __stdcall MV_CC_OpenDevice(IN void* handle, IN unsigned int nAccessMode, IN unsigned short nSwitchoverKey);
  176. /********************************************************************//**
  177. * @~chinese
  178. * @brief 关闭设备
  179. * @param handle [IN] 设备句柄
  180. * @return 成功,返回MV_OK;错误,返回错误码
  181. * @remarks 通过MV_CC_OpenDevice连接设备后,可以通过该接口断开设备连接,释放资源
  182. * @~english
  183. * @brief Close Device
  184. * @param handle [IN] Device handle
  185. * @return Success, return MV_OK. Failure, return error code
  186. * @remarks After connecting to device through MV_CC_OpenDevice, use this interface to disconnect and release resources.
  187. ***********************************************************************/
  188. MVSDKEXPORT_API int __stdcall MV_CC_CloseDevice(IN void* handle);
  189. /********************************************************************//**
  190. * @~chinese
  191. * @brief 判断设备是否处于连接状态
  192. * @param handle [IN] 设备句柄
  193. * @return 设备处于连接状态,返回true;没连接或失去连接,返回false
  194. * @~english
  195. * @brief Is The Device Connected
  196. * @param handle [IN] Device handle
  197. * @return Connected, return true. Not Connected or DIsconnected, return false
  198. ***********************************************************************/
  199. MVSDKEXPORT_API bool __stdcall MV_CC_IsDeviceConnected(IN void* handle);
  200. /********************************************************************//**
  201. * @~chinese
  202. * @brief 注册图像数据回调
  203. * @param handle [IN] 设备句柄
  204. * @param cbOutput [IN] 回调函数指针
  205. * @param pUser [IN] 用户自定义变量
  206. * @return 成功,返回MV_OK;错误,返回错误码
  207. * @remarks 通过该接口可以设置图像数据回调函数,在MV_CC_CreateHandle之后即可调用。 \n
  208. 图像数据采集有两种方式,两种方式不能复用:\n
  209. 方式一:调用MV_CC_RegisterImageCallBackEx设置图像数据回调函数,然后调用MV_CC_StartGrabbing开始采集,采集的图像数据在设置的回调函数中返回。\n
  210. 方式二:调用MV_CC_StartGrabbing开始采集,然后在应用层循环调用MV_CC_GetOneFrameTimeout获取指定像素格式的帧数据,获取帧数据时上层应用程序需要根据帧率控制好调用该接口的频率。 \n
  211. 该接口不支持CameraLink设备。
  212. * @~english
  213. * @brief Register the image callback function
  214. * @param handle [IN] Device handle
  215. * @param cbOutput [IN] Callback function pointer
  216. * @param pUser [IN] User defined variable
  217. * @return Success, return MV_OK. Failure, return error code
  218. * @remarks After MV_CC_CreateHandle, call this interface to set image data callback function.\n
  219. There are two available image data acquisition modes, and cannot be used together: \n
  220. 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
  221. 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
  222. This API is not supported by CameraLink device.
  223. ***********************************************************************/
  224. MVSDKEXPORT_API int __stdcall MV_CC_RegisterImageCallBackEx(void* handle,
  225. void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
  226. void* pUser);
  227. /********************************************************************//**
  228. * @~chinese
  229. * @brief 注册图像数据回调,RGB
  230. * @param handle [IN] 设备句柄
  231. * @param cbOutput [IN] 回调函数指针
  232. * @param pUser [IN] 用户自定义变量
  233. * @return 成功,返回MV_OK;错误,返回错误码
  234. * @remarks 通过该接口可以设置图像数据回调函数,在MV_CC_CreateHandle之后即可调用。 \n
  235. 图像数据采集有两种方式,两种方式不能复用:\n
  236. 方式一:调用MV_CC_RegisterImageCallBackForRGB设置RGB24格式图像数据回调函数,然后调用MV_CC_StartGrabbing开始采集,采集的图像数据在设置的回调函数中返回。\n
  237. 方式二:调用MV_CC_StartGrabbing开始采集,然后在应用层循环调用MV_CC_GetImageForRGB获取RGB24格式的帧数据,获取帧数据时上层应用程序需要根据帧率控制好调用该接口的频率。 \n
  238. 该接口不支持CameraLink设备。
  239. * @~english
  240. * @brief register image data callback, RGB
  241. * @param handle [IN] Device handle
  242. * @param cbOutput [IN] Callback function pointer
  243. * @param pUser [IN] User defined variable
  244. * @return Success, return MV_OK. Failure, return error code
  245. * @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
  246. There are two image acquisition modes, the two modes cannot be reused: \n
  247. 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
  248. 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
  249. This API is not supported by CameraLink device.
  250. ***********************************************************************/
  251. MVSDKEXPORT_API int __stdcall MV_CC_RegisterImageCallBackForRGB(void* handle,
  252. void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
  253. void* pUser);
  254. /********************************************************************//**
  255. * @~chinese
  256. * @brief 注册图像数据回调,BGR
  257. * @param handle [IN] 设备句柄
  258. * @param cbOutput [IN] 回调函数指针
  259. * @param pUser [IN] 用户自定义变量
  260. * @return 成功,返回MV_OK;错误,返回错误码
  261. * @remarks 通过该接口可以设置图像数据回调函数,在MV_CC_CreateHandle之后即可调用。\n
  262. 图像数据采集有两种方式,两种方式不能复用:\n
  263. 方式一:调用MV_CC_RegisterImageCallBackForBGR设置BGR24图像数据回调函数,然后调用MV_CC_StartGrabbing开始采集,采集的图像数据在设置的回调函数中返回。\n
  264. 方式二:调用MV_CC_StartGrabbing开始采集,然后在应用层循环调用MV_CC_GetImageForBGR获取BGR24格式的帧数据,获取帧数据时上层应用程序需要根据帧率控制好调用该接口的频率。 \n
  265. 该接口不支持CameraLink设备。
  266. * @~english
  267. * @brief register image data callback, BGR
  268. * @param handle [IN] Device handle
  269. * @param cbOutput [IN] Callback function pointer
  270. * @param pUser [IN] User defined variable
  271. * @return Success, return MV_OK. Failure, return error code
  272. * @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
  273. There are two image acquisition modes, the two modes cannot be reused: \n
  274. 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
  275. 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
  276. This API is not supported by CameraLink device.
  277. ***********************************************************************/
  278. MVSDKEXPORT_API int __stdcall MV_CC_RegisterImageCallBackForBGR(void* handle,
  279. void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser),
  280. void* pUser);
  281. /********************************************************************//**
  282. * @~chinese
  283. * @brief 开始取流
  284. * @param handle [IN] 设备句柄
  285. * @return 成功,返回MV_OK;错误,返回错误码
  286. * @remarks 该接口不支持CameraLink设备。
  287. * @~english
  288. * @brief Start Grabbing
  289. * @param handle [IN] Device handle
  290. * @return Success, return MV_OK. Failure, return error code
  291. * @remarks This API is not supported by CameraLink device.
  292. ***********************************************************************/
  293. MVSDKEXPORT_API int __stdcall MV_CC_StartGrabbing(IN void* handle);
  294. /********************************************************************//**
  295. * @~chinese
  296. * @brief 停止取流
  297. * @param handle [IN] 设备句柄
  298. * @return 成功,返回MV_OK;错误,返回错误码
  299. * @remarks 该接口不支持CameraLink设备。
  300. * @~english
  301. * @brief Stop Grabbing
  302. * @param handle [IN] Device handle
  303. * @return Success, return MV_OK. Failure, return error code
  304. * @remarks This API is not supported by CameraLink device.
  305. ***********************************************************************/
  306. MVSDKEXPORT_API int __stdcall MV_CC_StopGrabbing(IN void* handle);
  307. /********************************************************************//**
  308. * @~chinese
  309. * @brief 获取一帧RGB数据,此函数为查询式获取,每次调用查询内部
  310. 缓存有无数据,有数据则获取数据,无数据返回错误码
  311. * @param handle [IN] 设备句柄
  312. * @param pData [OUT] 图像数据接收指针
  313. * @param nDataSize [IN] 接收缓存大小
  314. * @param pstFrameInfo [OUT] 图像信息结构体
  315. * @param nMsec [IN] 等待超时时间
  316. * @return 成功,返回MV_OK;错误,返回错误码
  317. * @remarks 每次调用该接口,将查询内部缓存是否有数据,如果有数据则转换成RGB24格式返回,如果没有数据则返回错误码。因为图像转换成RGB24格式有耗时,所以当数据帧率过高时该接口可能会导致丢帧。\n
  318. 调用该接口获取图像数据帧之前需要先调用MV_CC_StartGrabbing启动图像采集。该接口为主动式获取帧数据,上层应用程序需要根据帧率,控制好调用该接口的频率。 \n
  319. 该接口不支持CameraLink设备。
  320. * @~english
  321. * @brief Get one frame of RGB data, this function is using query to get data
  322. query whether the internal cache has data, get data if there has, return error code if no data
  323. * @param handle [IN] Device handle
  324. * @param pData [OUT] Image data receiving buffer
  325. * @param nDataSize [IN] Buffer size
  326. * @param pstFrameInfo [OUT] Image information structure
  327. * @param nMsec [IN] Waiting timeout
  328. * @return Success, return MV_OK. Failure, return error code
  329. * @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
  330. 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
  331. This API is not supported by CameraLink device.
  332. ***********************************************************************/
  333. MVSDKEXPORT_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);
  334. /********************************************************************//**
  335. * @~chinese
  336. * @brief 获取一帧BGR数据,此函数为查询式获取,每次调用查询内部
  337. 缓存有无数据,有数据则获取数据,无数据返回错误码
  338. * @param handle [IN] 设备句柄
  339. * @param pData [OUT] 图像数据接收指针
  340. * @param nDataSize [IN] 接收缓存大小
  341. * @param pstFrameInfo [OUT] 图像信息结构体
  342. * @param nMsec [IN] 等待超时时间
  343. * @return 成功,返回MV_OK;错误,返回错误码
  344. * @remarks 每次调用该接口,将查询内部缓存是否有数据,如果有数据则转换成BGR24格式返回,如果没有数据则返回错误码。因为图像转换成BGR24格式有耗时,所以当数据帧率过高时该接口可能会导致丢帧。 \n
  345. 调用该接口获取图像数据帧之前需要先调用MV_CC_StartGrabbing启动图像采集。该接口为主动式获取帧数据,上层应用程序需要根据帧率,控制好调用该接口的频率。\n
  346. 该接口不支持CameraLink设备。
  347. * @~english
  348. * @brief Get one frame of BGR data, this function is using query to get data
  349. query whether the internal cache has data, get data if there has, return error code if no data
  350. * @param handle [IN] Device handle
  351. * @param pData [OUT] Image data receiving buffer
  352. * @param nDataSize [IN] Buffer size
  353. * @param pstFrameInfo [OUT] Image information structure
  354. * @param nMsec [IN] Waiting timeout
  355. * @return Success, return MV_OK. Failure, return error code
  356. * @remarks Before calling this API to set image data callback function, you should call this API MV_CC_CreateHandle. \n
  357. There are two image acquisition modes, the two modes cannot be reused: \n
  358. 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
  359. 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
  360. This API is not supported by CameraLink device.
  361. ***********************************************************************/
  362. MVSDKEXPORT_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);
  363. /********************************************************************//**
  364. * @~chinese
  365. * @brief 使用内部缓存获取一帧图片(与MV_CC_Display不能同时使用)
  366. * @param handle [IN] 设备句柄
  367. * @param pstFrame [OUT] 图像数据和图像信息
  368. * @param nMsec [IN] 等待超时时间,输入INFINITE时表示无限等待,直到收到一帧数据或者停止取流
  369. * @return 成功,返回MV_OK;错误,返回错误码
  370. * @remarks 调用该接口获取图像数据帧之前需要先调用MV_CC_StartGrabbing启动图像采集。该接口为主动式获取帧数据,上层应用程序需要根据帧率,控制好调用该接口的频率。该接口支持设置超时时间,SDK内部等待直到有数据时返回,可以增加取流平稳性,适合用于对平稳性要求较高的场合。 \n
  371. 该接口与MV_CC_FreeImageBuffer配套使用,当处理完取到的数据后,需要用MV_CC_FreeImageBuffer接口将pFrame内的数据指针权限进行释放。 \n
  372. 该接口与MV_CC_GetOneFrameTimeout相比,有着更高的效率。且其取流缓存的分配是由sdk内部自动分配的,而MV_CC_GetOneFrameTimeout接口是需要客户自行分配。\n
  373. 该接口在调用MV_CC_Display后无法取流。 \n
  374. 该接口对于U3V、GIGE设备均可支持。 \n
  375. 该接口不支持CameraLink设备。
  376. * @~english
  377. * @brief Get a frame of an image using an internal cache
  378. * @param handle [IN] Device handle
  379. * @param pstFrame [OUT] Image data and image information
  380. * @param nMsec [IN] Waiting timeout
  381. * @return Success, return MV_OK. Failure, return error code
  382. * @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
  383. 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
  384. 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
  385. This API cannot be called to stream after calling MV_CC_Display. \n
  386. This API is not supported by CameraLink device. \n
  387. This API is supported by both USB3 vision camera and GigE camera. \n
  388. **********************************************************************/
  389. MVSDKEXPORT_API int __stdcall MV_CC_GetImageBuffer(IN void* handle, OUT MV_FRAME_OUT* pstFrame, IN int nMsec);
  390. /********************************************************************//**
  391. * @~chinese
  392. * @brief 释放图像缓存(此接口用于释放不再使用的图像缓存,与MV_CC_GetImageBuffer配套使用)
  393. * @param handle [IN] 设备句柄
  394. * @param pstFrame [IN] 图像数据和图像数据
  395. * @return 成功,返回MV_OK;错误,返回错误码
  396. * @remarks 该接口与MV_CC_GetImageBuffer配套使用,使用MV_CC_GetImageBuffer接口取到的图像数据pFrame,需要用MV_CC_FreeImageBuffer接口进行权限释放。 \n
  397. 该接口对于取流效率高于GetOneFrameTimeout接口,且GetImageBuffer在不进行Free的情况下,最大支持输出的节点数与SetImageNode接口所设置的节点数相等,默认节点数是1。\n
  398. 该接口对于U3V、GIGE设备均可支持。 \n
  399. 该接口不支持CameraLink设备。
  400. * @~english
  401. * @brief Free image buffer(this interface can free image buffer, used with MV_CC_GetImageBuffer)
  402. * @param handle [IN] Device handle
  403. * @param pstFrame [IN] Image data and image information
  404. * @return Success, return MV_OK. Failure, return error code
  405. * @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
  406. 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
  407. This API is not supported by CameraLink device. \n
  408. This API is supported by both USB3 vision camera and GigE camera.
  409. **********************************************************************/
  410. MVSDKEXPORT_API int __stdcall MV_CC_FreeImageBuffer(IN void* handle, IN MV_FRAME_OUT* pstFrame);
  411. /********************************************************************//**
  412. * @~chinese
  413. * @brief 采用超时机制获取一帧图片,SDK内部等待直到有数据时返回
  414. * @param handle [IN] 设备句柄
  415. * @param pData [OUT] 图像数据接收指针
  416. * @param nDataSize [IN] 接收缓存大小
  417. * @param pstFrameInfo [OUT] 图像信息结构体
  418. * @param nMsec [IN] 等待超时时间
  419. * @return 成功,返回MV_OK;错误,返回错误码
  420. * @remarks 调用该接口获取图像数据帧之前需要先调用MV_CC_StartGrabbing启动图像采集。该接口为主动式获取帧数据,上层应用程序需要根据帧率,控制好调用该接口的频率。该接口支持设置超时时间,SDK内部等待直到有数据时返回,可以增加取流平稳性,适合用于对平稳性要求较高的场合。\n
  421. 该接口对于U3V、GIGE设备均可支持。\n
  422. 该接口不支持CameraLink设备。
  423. * @~english
  424. * @brief Timeout mechanism is used to get image, and the SDK waits inside until the data is returned
  425. * @param handle [IN] Device handle
  426. * @param pData [OUT] Image data receiving buffer
  427. * @param nDataSize [IN] Buffer size
  428. * @param pstFrameInfo [OUT] Image information structure
  429. * @param nMsec [IN] Waiting timeout
  430. * @return Success, return MV_OK. Failure, return error code
  431. * @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
  432. Both the USB3Vision and GIGE camera can support this API. \n
  433. This API is not supported by CameraLink device.
  434. ***********************************************************************/
  435. MVSDKEXPORT_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);
  436. /********************************************************************//**
  437. * @~chinese
  438. * @brief 清除取流数据缓存
  439. * @param handle [IN] 设备句柄
  440. * @return 成功,返回MV_OK;错误,返回错误码
  441. * @remarks 该接口允许用户在不停止取流的时候,就能清除缓存中不需要的图像。\n
  442. 该接口在连续模式切触发模式后,可以清除历史数据。
  443. * @~english
  444. * @brief if Image buffers has retrieved the data,Clear them
  445. * @param handle [IN] Device handle
  446. * @return Success, return MV_OK. Failure, return error code
  447. * @remarks This interface allows user to clear the unnecessary images from the buffer memory without stopping acquisition. \n
  448. This interface allows user to clear previous data after switching from continuous mode to trigger mode.
  449. ***********************************************************************/
  450. MVSDKEXPORT_API int __stdcall MV_CC_ClearImageBuffer(IN void* handle);
  451. /********************************************************************//**
  452. * @~chinese
  453. * @brief 显示一帧图像
  454. * @param handle [IN] 设备句柄
  455. * @param pstDisplayInfo [IN] 图像信息
  456. * @return 成功,返回MV_OK;错误,返回错误码
  457. * @remarks 该接口对于U3V、GIGE设备均可支持。\n
  458. 该接口不支持CameraLink设备。
  459. * @~english
  460. * @brief Display one frame image
  461. * @param handle [IN] Device handle
  462. * @param pstDisplayInfo [IN] Frame Info
  463. * @return Success, return MV_OK. Failure, return error code
  464. * @remarks This API is valid for USB3Vision camera and GIGE camera. \n
  465. This API is not supported by CameraLink device.
  466. ***********************************************************************/
  467. MVSDKEXPORT_API int __stdcall MV_CC_DisplayOneFrame(IN void* handle, IN MV_DISPLAY_FRAME_INFO* pstDisplayInfo);
  468. /********************************************************************//**
  469. * @~chinese
  470. * @brief 设置SDK内部图像缓存节点个数,大于等于1,在抓图前调用
  471. * @param handle [IN] 设备句柄
  472. * @param nNum [IN] 缓存节点个数
  473. * @return 成功,返回MV_OK;错误,返回错误码
  474. * @remarks 调用该接口可以设置SDK内部图像缓存节点个数,在调用MV_CC_StartGrabbing开始抓图前调用。\n
  475. 在SDK中默认是1个节点。\n
  476. 该接口不支持CameraLink设备。
  477. * @~english
  478. * @brief Set the number of the internal image cache nodes in SDK, Greater than or equal to 1, to be called before the capture
  479. * @param handle [IN] Device handle
  480. * @param nNum [IN] Image Node Number
  481. * @return Success, return MV_OK. Failure, return error code
  482. * @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
  483. This API is not supported by CameraLink device.
  484. ***********************************************************************/
  485. MVSDKEXPORT_API int __stdcall MV_CC_SetImageNodeNum(IN void* handle, unsigned int nNum);
  486. /********************************************************************//**
  487. * @~chinese
  488. * @brief 设置取流策略
  489. * @param handle [IN] 设备句柄
  490. * @param enGrabStrategy [IN] 策略枚举值
  491. * @return 成功,返回MV_OK;错误,返回错误码
  492. * @remarks 该接口定义了四种取流策略,用户可以根据实际需求进行选择。具体描述如下:
  493. -OneByOne:从旧到新一帧一帧的从输出缓存列表中获取图像,打开设备后默认为该策略
  494. -LatestImagesOnly:仅从输出缓存列表中获取最新的一帧图像,同时清空输出缓存列表
  495. -LatestImages:从输出缓存列表中获取最新的OutputQueueSize帧图像,其中OutputQueueSize范围为1-ImageNodeNum,可用MV_CC_SetOutputQueueSize接口设置,ImageNodeNum默认为1,可用MV_CC_SetImageNodeNum接口设置 OutputQueueSize设置成1等同于LatestImagesOnly策略,OutputQueueSize设置成ImageNodeNum等同于OneByOne策略
  496. -UpcomingImage:在调用取流接口时忽略输出缓存列表中所有图像,并等待设备即将生成的一帧图像。该策略只支持GigE设备,不支持U3V设备
  497. * @~english
  498. * @brief Set Grab Strategy
  499. * @param handle [IN] Device handle
  500. * @param enGrabStrategy [IN] The value of Grab Strategy
  501. * @return Success, return MV_OK. Failure, return error code
  502. * @remarks This interface is set by four image acquisition approaches, the user may choose one as needed. Specific details are as followed:
  503. -OneByOne:Obtain image from output cache list frame by frame in order, this function is default strategy when device is on.
  504. -LatestImagesOnly:Obtain the latest image from output cache list only, meanwhile clear output cache list.
  505. -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.
  506. -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.
  507. ***********************************************************************/
  508. MVSDKEXPORT_API int __stdcall MV_CC_SetGrabStrategy(IN void* handle, IN MV_GRAB_STRATEGY enGrabStrategy);
  509. /********************************************************************//**
  510. * @~chinese
  511. * @brief 设置输出缓存个数(只有在MV_GrabStrategy_LatestImages策略下才有效,范围:1-ImageNodeNum)
  512. * @param handle [IN] 设备句柄
  513. * @param nOutputQueueSize [IN] 输出缓存个数
  514. * @return 成功,返回MV_OK;错误,返回错误码
  515. * @remarks 该接口需与LatestImages取流策略配套调用,用于设置LatestImages策略下最多允许缓存图像的个数。可以在取流过程中动态调节输出缓存个数
  516. * @~english
  517. * @brief Set The Size of Output Queue(Only work under the strategy of MV_GrabStrategy_LatestImages,rang:1-ImageNodeNum)
  518. * @param handle [IN] Device handle
  519. * @param nOutputQueueSize [IN] The Size of Output Queue
  520. * @return Success, return MV_OK. Failure, return error code
  521. * @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.
  522. ***********************************************************************/
  523. MVSDKEXPORT_API int __stdcall MV_CC_SetOutputQueueSize(IN void* handle, IN unsigned int nOutputQueueSize);
  524. /********************************************************************//**
  525. * @~chinese
  526. * @brief 获取设备信息,取流之前调用
  527. * @param handle [IN] 设备句柄
  528. * @param pstDevInfo [IN][OUT] 返回给调用者有关设备信息结构体指针
  529. * @return 成功,返回MV_OK,失败,返回错误码
  530. * @remarks 支持用户在打开设备后获取设备信息。\n
  531. 若该设备是GigE设备,则调用该接口存在阻塞风险,因此不建议在取流过程中调用该接口。
  532. * @~english
  533. * @brief Get device information
  534. * @param handle [IN] Device handle
  535. * @param pstDevInfo [IN][OUT] Structure pointer of device information
  536. * @return Success, return MV_OK. Failure, return error code
  537. * @remarks The API support users to access device information after opening the device. \n
  538. 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.
  539. ************************************************************************/
  540. MVSDKEXPORT_API int __stdcall MV_CC_GetDeviceInfo(IN void * handle, IN OUT MV_CC_DEVICE_INFO* pstDevInfo);
  541. /********************************************************************//**
  542. * @~chinese
  543. * @brief 获取各种类型的信息
  544. * @param handle [IN] 设备句柄
  545. * @param pstInfo [IN][OUT] 返回给调用者有关设备各种类型的信息结构体指针
  546. * @return 成功,返回MV_OK,失败,返回错误码
  547. * @remarks 接口里面输入需要获取的信息类型(指定MV_ALL_MATCH_INFO结构体中的nType类型),获取对应的信息(在MV_ALL_MATCH_INFO结构体中pInfo里返回)。 \n
  548. 该接口的调用前置条件取决于所获取的信息类型,获取GigE设备的MV_MATCH_TYPE_NET_DETECT信息需在开启抓图之后调用,获取U3V设备的MV_MATCH_TYPE_USB_DETECT信息需在打开设备之后调用。 \n
  549. 该接口不支持CameraLink设备。
  550. * @~english
  551. * @brief Get various type of information
  552. * @param handle [IN] Device handle
  553. * @param pstInfo [IN][OUT] Structure pointer of various type of information
  554. * @return Success, return MV_OK. Failure, return error code
  555. * @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
  556. 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
  557. This API is not supported by CameraLink device.
  558. ************************************************************************/
  559. MVSDKEXPORT_API int __stdcall MV_CC_GetAllMatchInfo(IN void* handle, IN OUT MV_ALL_MATCH_INFO* pstInfo);
  560. /************************************************************************/
  561. /* 设置和获取设备参数的万能接口 */
  562. /* General interface for getting and setting camera parameters */
  563. /************************************************************************/
  564. /********************************************************************//**
  565. * @~chinese
  566. * @brief 获取Integer属性值
  567. * @param handle [IN] 设备句柄
  568. * @param strKey [IN] 属性键值,如获取宽度信息则为"Width"
  569. * @param pstIntValue [IN][OUT] 返回给调用者有关设备属性结构体指针
  570. * @return 成功,返回MV_OK,失败,返回错误码
  571. * @remarks 连接设备之后调用该接口可以获取int类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IInteger”的节点值都可以通过该接口获取,strKey参数取值对应列表里面的“名称”一列。
  572. * @~english
  573. * @brief Get Integer value
  574. * @param handle [IN] Device handle
  575. * @param strKey [IN] Key value, for example, using "Width" to get width
  576. * @param pstIntValue [IN][OUT] Structure pointer of camera features
  577. * @return Success, return MV_OK. Failure, return error code
  578. * @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.
  579. ************************************************************************/
  580. MVSDKEXPORT_API int __stdcall MV_CC_GetIntValueEx(IN void* handle,IN const char* strKey,OUT MVCC_INTVALUE_EX *pstIntValue);
  581. /********************************************************************//**
  582. * @~chinese
  583. * @brief 设置Integer型属性值
  584. * @param handle [IN] 设备句柄
  585. * @param strKey [IN] 属性键值,如获取宽度信息则为"Width"
  586. * @param nValue [IN] 想要设置的设备的属性值
  587. * @return 成功,返回MV_OK,失败,返回错误码
  588. * @remarks 连接设备之后调用该接口可以设置int类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IInteger”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  589. * @~english
  590. * @brief Set Integer value
  591. * @param handle [IN] Device handle
  592. * @param strKey [IN] Key value, for example, using "Width" to set width
  593. * @param nValue [IN] Feature value to set
  594. * @return Success, return MV_OK. Failure, return error code
  595. * @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.
  596. ************************************************************************/
  597. MVSDKEXPORT_API int __stdcall MV_CC_SetIntValueEx(IN void* handle,IN const char* strKey,IN int64_t nValue);
  598. /********************************************************************//**
  599. * @~chinese
  600. * @brief 获取Enum属性值
  601. * @param handle [IN] 设备句柄
  602. * @param strKey [IN] 属性键值,如获取像素格式信息则为"PixelFormat"
  603. * @param pstEnumValue [IN][OUT] 返回给调用者有关设备属性结构体指针
  604. * @return 成功,返回MV_OK,失败,返回错误码
  605. * @remarks 连接设备之后调用该接口可以获取Enum类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IEnumeration”的节点值都可以通过该接口获取,strKey参数取值对应列表里面的“名称”一列。
  606. * @~english
  607. * @brief Get Enum value
  608. * @param handle [IN] Device handle
  609. * @param strKey [IN] Key value, for example, using "PixelFormat" to get pixel format
  610. * @param pstEnumValue [IN][OUT] Structure pointer of camera features
  611. * @return Success, return MV_OK. Failure, return error code
  612. * @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.
  613. ************************************************************************/
  614. MVSDKEXPORT_API int __stdcall MV_CC_GetEnumValue(IN void* handle,IN const char* strKey,OUT MVCC_ENUMVALUE *pstEnumValue);
  615. /********************************************************************//**
  616. * @~chinese
  617. * @brief 设置Enum型属性值
  618. * @param handle [IN] 设备句柄
  619. * @param strKey [IN] 属性键值,如获取像素格式信息则为"PixelFormat"
  620. * @param nValue [IN] 想要设置的设备的属性值
  621. * @return 成功,返回MV_OK,失败,返回错误码
  622. * @remarks 连接设备之后调用该接口可以设置Enum类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IEnumeration”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  623. * @~english
  624. * @brief Set Enum value
  625. * @param handle [IN] Device handle
  626. * @param strKey [IN] Key value, for example, using "PixelFormat" to set pixel format
  627. * @param nValue [IN] Feature value to set
  628. * @return Success, return MV_OK. Failure, return error code
  629. * @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.
  630. ************************************************************************/
  631. MVSDKEXPORT_API int __stdcall MV_CC_SetEnumValue(IN void* handle,IN const char* strKey,IN unsigned int nValue);
  632. /********************************************************************//**
  633. * @~chinese
  634. * @brief 设置Enum型属性值
  635. * @param handle [IN] 设备句柄
  636. * @param strKey [IN] 属性键值,如获取像素格式信息则为"PixelFormat"
  637. * @param strValue [IN] 想要设置的设备的属性字符串
  638. * @return 成功,返回MV_OK,失败,返回错误码
  639. * @remarks 连接设备之后调用该接口可以设置Enum类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IEnumeration”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  640. * @~english
  641. * @brief Set Enum value
  642. * @param handle [IN] Device handle
  643. * @param strKey [IN] Key value, for example, using "PixelFormat" to set pixel format
  644. * @param strValue [IN] Feature String to set
  645. * @return Success, return MV_OK. Failure, return error code
  646. * @remarks Call this API after connecting the device. All the values of nodes with IEnumeration type can be set via this API.
  647. ************************************************************************/
  648. MVSDKEXPORT_API int __stdcall MV_CC_SetEnumValueByString(IN void* handle,IN const char* strKey,IN const char* strValue);
  649. /********************************************************************//**
  650. * @~chinese
  651. * @brief 获取Float属性值
  652. * @param handle [IN] 设备句柄
  653. * @param strKey [IN] 属性键值
  654. * @param pstFloatValue [IN][OUT] 返回给调用者有关设备属性结构体指针
  655. * @return 成功,返回MV_OK,失败,返回错误码
  656. * @remarks 连接设备之后调用该接口可以获取float类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IFloat”的节点值都可以通过该接口获取,strKey参数取值对应列表里面的“名称”一列。
  657. * @~english
  658. * @brief Get Float value
  659. * @param handle [IN] Device handle
  660. * @param strKey [IN] Key value
  661. * @param pstFloatValue [IN][OUT] Structure pointer of camera features
  662. * @return Success, return MV_OK. Failure, return error code
  663. * @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.
  664. ************************************************************************/
  665. MVSDKEXPORT_API int __stdcall MV_CC_GetFloatValue(IN void* handle,IN const char* strKey,OUT MVCC_FLOATVALUE *pstFloatValue);
  666. /********************************************************************//**
  667. * @~chinese
  668. * @brief 设置float型属性值
  669. * @param handle [IN] 设备句柄
  670. * @param strKey [IN] 属性键值
  671. * @param fValue [IN] 想要设置的设备的属性值
  672. * @return 成功,返回MV_OK,失败,返回错误码
  673. * @remarks 连接设备之后调用该接口可以设置float类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IFloat”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  674. * @~english
  675. * @brief Set float value
  676. * @param handle [IN] Device handle
  677. * @param strKey [IN] Key value
  678. * @param fValue [IN] Feature value to set
  679. * @return Success, return MV_OK. Failure, return error code
  680. * @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.
  681. ************************************************************************/
  682. MVSDKEXPORT_API int __stdcall MV_CC_SetFloatValue(IN void* handle,IN const char* strKey,IN float fValue);
  683. /********************************************************************//**
  684. * @~chinese
  685. * @brief 获取Boolean属性值
  686. * @param handle [IN] 设备句柄
  687. * @param strKey [IN] 属性键值
  688. * @param pbValue [IN][OUT] 返回给调用者有关设备属性值
  689. * @return 成功,返回MV_OK,失败,返回错误码
  690. * @remarks 连接设备之后调用该接口可以获取bool类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IBoolean”的节点值都可以通过该接口获取,strKey参数取值对应列表里面的“名称”一列。
  691. * @~english
  692. * @brief Get Boolean value
  693. * @param handle [IN] Device handle
  694. * @param strKey [IN] Key value
  695. * @param pbValue [IN][OUT] Structure pointer of camera features
  696. * @return Success, return MV_OK. Failure, return error code
  697. * @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.
  698. ************************************************************************/
  699. MVSDKEXPORT_API int __stdcall MV_CC_GetBoolValue(IN void* handle,IN const char* strKey,OUT bool *pbValue);
  700. /********************************************************************//**
  701. * @~chinese
  702. * @brief 设置Boolean型属性值
  703. * @param handle [IN] 设备句柄
  704. * @param strKey [IN] 属性键值
  705. * @param bValue [IN] 想要设置的设备的属性值
  706. * @return 成功,返回MV_OK,失败,返回错误码
  707. * @remarks 连接设备之后调用该接口可以设置bool类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IBoolean”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  708. * @~english
  709. * @brief Set Boolean value
  710. * @param handle [IN] Device handle
  711. * @param strKey [IN] Key value
  712. * @param bValue [IN] Feature value to set
  713. * @return Success, return MV_OK. Failure, return error code
  714. * @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.
  715. ************************************************************************/
  716. MVSDKEXPORT_API int __stdcall MV_CC_SetBoolValue(IN void* handle,IN const char* strKey,IN bool bValue);
  717. /********************************************************************//**
  718. * @~chinese
  719. * @brief 获取String属性值
  720. * @param handle [IN] 设备句柄
  721. * @param strKey [IN] 属性键值
  722. * @param pstStringValue [IN][OUT] 返回给调用者有关设备属性结构体指针
  723. * @return 成功,返回MV_OK,失败,返回错误码
  724. * @remarks 连接设备之后调用该接口可以获取string类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IString”的节点值都可以通过该接口获取,strKey参数取值对应列表里面的“名称”一列。
  725. * @~english
  726. * @brief Get String value
  727. * @param handle [IN] Device handle
  728. * @param strKey [IN] Key value
  729. * @param pstStringValue [IN][OUT] Structure pointer of camera features
  730. * @return Success, return MV_OK. Failure, return error code
  731. * @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.
  732. ************************************************************************/
  733. MVSDKEXPORT_API int __stdcall MV_CC_GetStringValue(IN void* handle,IN const char* strKey,OUT MVCC_STRINGVALUE *pstStringValue);
  734. /********************************************************************//**
  735. * @~chinese
  736. * @brief 设置String型属性值
  737. * @param handle [IN] 设备句柄
  738. * @param strKey [IN] 属性键值
  739. * @param strValue [IN] 想要设置的设备的属性值
  740. * @return 成功,返回MV_OK,失败,返回错误码
  741. * @remarks 连接设备之后调用该接口可以设置string类型的指定节点的值。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“IString”的节点值都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  742. * @~english
  743. * @brief Set String value
  744. * @param handle [IN] Device handle
  745. * @param strKey [IN] Key value
  746. * @param strValue [IN] Feature value to set
  747. * @return Success, return MV_OK. Failure, return error code
  748. * @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.
  749. ************************************************************************/
  750. MVSDKEXPORT_API int __stdcall MV_CC_SetStringValue(IN void* handle,IN const char* strKey,IN const char * strValue);
  751. /********************************************************************//**
  752. * @~chinese
  753. * @brief 设置Command型属性值
  754. * @param handle [IN] 设备句柄
  755. * @param strKey [IN] 属性键值
  756. * @return 成功,返回MV_OK,失败,返回错误码
  757. * @remarks 连接设备之后调用该接口可以设置指定的Command类型节点。strKey取值可以参考XML节点参数类型列表,表格里面数据类型为“ICommand”的节点都可以通过该接口设置,strKey参数取值对应列表里面的“名称”一列。
  758. * @~english
  759. * @brief Send Command
  760. * @param handle [IN] Device handle
  761. * @param strKey [IN] Key value
  762. * @return Success, return MV_OK. Failure, return error code
  763. * @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.
  764. ************************************************************************/
  765. MVSDKEXPORT_API int __stdcall MV_CC_SetCommandValue(IN void* handle,IN const char* strKey);
  766. /********************************************************************//**
  767. * @~chinese
  768. * @brief 清除GenICam节点缓存
  769. * @param handle [IN] 设备句柄
  770. * @return 成功,返回MV_OK;错误,返回错误码
  771. * @~english
  772. * @brief Invalidate GenICam Nodes
  773. * @param handle [IN] Device handle
  774. * @return Success, return MV_OK. Failure, return error code
  775. ************************************************************************/
  776. MVSDKEXPORT_API int __stdcall MV_CC_InvalidateNodes(IN void* handle);
  777. /************************************************************************/
  778. /* 设备升级 和 寄存器读写 和异常、事件回调 */
  779. /* Device upgrade, register read and write and exception callback */
  780. /************************************************************************/
  781. /********************************************************************//**
  782. * @~chinese
  783. * @brief 设备本地升级
  784. * @param handle [IN] 设备句柄
  785. * @param strFilePathName [IN] 文件名
  786. * @return 成功,返回MV_OK,失败,返回错误码
  787. * @remarks 通过该接口可以将升级固件文件发送给设备进行升级。该接口需要等待升级固件文件成功传给设备端之后再返回,响应时间可能较长。
  788. * @~english
  789. * @brief Device Local Upgrade
  790. * @param handle [IN] Device handle
  791. * @param strFilePathName [IN] File name
  792. * @return Success, return MV_OK. Failure, return error code
  793. * @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
  794. For CameraLink device, it keeps sending upgrade firmware continuously.
  795. ************************************************************************/
  796. MVSDKEXPORT_API int __stdcall MV_CC_LocalUpgrade(IN void* handle, const void *strFilePathName);
  797. /********************************************************************//**
  798. * @~chinese
  799. * @brief 获取升级进度
  800. * @param handle [IN] 设备句柄
  801. * @param pnProcess [OUT] 进度接收地址
  802. * @return 成功,返回MV_OK,失败,返回错误码
  803. * @~english
  804. * @brief Get Upgrade Progress
  805. * @param handle [IN] Device handle
  806. * @param pnProcess [OUT] Progress receiving address
  807. * @return Success, return MV_OK. Failure, return error code
  808. ************************************************************************/
  809. MVSDKEXPORT_API int __stdcall MV_CC_GetUpgradeProcess(IN void* handle, unsigned int* pnProcess);
  810. /********************************************************************//**
  811. * @~chinese
  812. * @brief 读内存
  813. * @param handle [IN] 设备句柄
  814. * @param pBuffer [IN][OUT] 作为返回值使用,保存读到的内存值(GEV设备内存值是按照大端模式存储的,其它协议设备按照小端存储)
  815. * @param nAddress [IN] 待读取的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值
  816. * @param nLength [IN] 待读取的内存长度
  817. * @return 成功,返回MV_OK,失败,返回错误码
  818. * @remarks 访问设备,读取某段寄存器的数据。
  819. * @~english
  820. * @brief Read Memory
  821. * @param handle [IN] Device Handle
  822. * @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)
  823. * @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
  824. * @param nLength [IN] Length of the memory to be read
  825. * @return Success, return MV_OK. Failure, return error code
  826. * @remarks Access device, read the data from certain register.
  827. *************************************************************************/
  828. MVSDKEXPORT_API int __stdcall MV_CC_ReadMemory(IN void* handle , void *pBuffer, int64_t nAddress, int64_t nLength);
  829. /********************************************************************//**
  830. * @~chinese
  831. * @brief 写内存
  832. * @param handle [IN] 设备句柄
  833. * @param pBuffer [IN] 待写入的内存值(注意GEV设备内存值要按照大端模式存储,其它协议设备按照小端存储)
  834. * @param nAddress [IN] 待写入的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值
  835. * @param nLength [IN] 待写入的内存长度
  836. * @return 成功,返回MV_OK,失败,返回错误码
  837. * @remarks 访问设备,把一段数据写入某段寄存器。
  838. * @~english
  839. * @brief Write Memory
  840. * @param handle [IN] Device Handle
  841. * @param pBuffer [IN] Memory value to be written ( Note the memory value to be stored in accordance with the big end model)
  842. * @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
  843. * @param nLength [IN] Length of the memory to be written
  844. * @return Success, return MV_OK. Failure, return error code
  845. * @remarks Access device, write a piece of data into a certain segment of register.
  846. ************************************************************************/
  847. MVSDKEXPORT_API int __stdcall MV_CC_WriteMemory(IN void* handle , const void *pBuffer, int64_t nAddress, int64_t nLength);
  848. /********************************************************************//**
  849. * @~chinese
  850. * @brief 注册异常消息回调,在打开设备之后调用
  851. * @param handle [IN] 设备句柄
  852. * @param cbException [IN] 异常回调函数指针
  853. * @param pUser [IN] 用户自定义变量
  854. * @return 成功,返回MV_OK,失败,返回错误码
  855. * @remarks 该接口需要在MV_CC_OpenDevice打开设备之后调用。设备异常断开连接后可以在回调里面获取到异常消息,GigE设备掉线之后需要先调用MV_CC_CloseDevice接口关闭设备,再调用MV_CC_OpenDevice接口重新打开设备。
  856. * @~english
  857. * @brief Register Exception Message CallBack, call after open device
  858. * @param handle [IN] Device handle
  859. * @param cbException [IN] Exception Message CallBack Function Pointer
  860. * @param pUser [IN] User defined variable
  861. * @return Success, return MV_OK. Failure, return error code
  862. * @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.
  863. ************************************************************************/
  864. MVSDKEXPORT_API int __stdcall MV_CC_RegisterExceptionCallBack(IN void* handle,
  865. void(__stdcall* cbException)(unsigned int nMsgType, void* pUser), void* pUser);
  866. /********************************************************************//**
  867. * @~chinese
  868. * @brief 注册全部事件回调,在打开设备之后调用
  869. * @param handle [IN] 设备句柄
  870. * @param cbEvent [IN] 事件回调函数指针
  871. * @param pUser [IN] 用户自定义变量
  872. * @return 成功,返回MV_OK,失败,返回错误码
  873. * @remarks 通过该接口设置事件回调,可以在回调函数里面获取采集、曝光等事件信息。 \n
  874. 该接口不支持CameraLink设备。
  875. * @~english
  876. * @brief Register event callback, which is called after the device is opened
  877. * @param handle [IN] Device handle
  878. * @param cbEvent [IN] Event CallBack Function Pointer
  879. * @param pUser [IN] User defined variable
  880. * @return Success, return MV_OK. Failure, return error code
  881. * @remarks Call this API to set the event callback function to get the event information, e.g., acquisition, exposure, and so on. \n
  882. This API is not supported by CameraLink device.
  883. ************************************************************************/
  884. MVSDKEXPORT_API int __stdcall MV_CC_RegisterAllEventCallBack(void* handle, void(__stdcall* cbEvent)(MV_EVENT_OUT_INFO * pEventInfo, void* pUser), void* pUser);
  885. /********************************************************************//**
  886. * @~chinese
  887. * @brief 注册单个事件回调,在打开设备之后调用
  888. * @param handle [IN] 设备句柄
  889. * @param strEventName [IN] 事件名称
  890. * @param cbEvent [IN] 事件回调函数指针
  891. * @param pUser [IN] 用户自定义变量
  892. * @return 成功,返回MV_OK,失败,返回错误码
  893. * @remarks 通过该接口设置事件回调,可以在回调函数里面获取采集、曝光等事件信息。\n
  894. 该接口不支持CameraLink设备,仅支持"设备掉线"这一种事件。
  895. * @~english
  896. * @brief Register single event callback, which is called after the device is opened
  897. * @param handle [IN] Device handle
  898. * @param strEventName [IN] Event name
  899. * @param cbEvent [IN] Event CallBack Function Pointer
  900. * @param pUser [IN] User defined variable
  901. * @return Success, return MV_OK. Failure, return error code
  902. * @remarks Call this API to set the event callback function to get the event information, e.g., acquisition, exposure, and so on. \n
  903. This API is not supported by CameraLink device .
  904. ************************************************************************/
  905. MVSDKEXPORT_API int __stdcall MV_CC_RegisterEventCallBackEx(void* handle, const char* strEventName,
  906. void(__stdcall* cbEvent)(MV_EVENT_OUT_INFO * pEventInfo, void* pUser), void* pUser);
  907. /************************************************************************/
  908. /* GigEVision 设备独有的接口 */
  909. /* GigEVision device specific interface */
  910. /************************************************************************/
  911. /********************************************************************//**
  912. * @~chinese
  913. * @brief 强制IP
  914. * @param handle [IN] 设备句柄
  915. * @param nIP [IN] 设置的IP
  916. * @param nSubNetMask [IN] 子网掩码
  917. * @param nDefaultGateWay [IN] 默认网关
  918. * @return 成功,返回MV_OK,失败,返回错误码
  919. * @remarks 强制设置设备网络参数(包括IP、子网掩码、默认网关),强制设置之后将需要重新创建设备句柄,仅GigEVision设备支持。\n
  920. 如果设备为DHCP的状态,调用该接口强制设置设备网络参数之后设备将会重启。
  921. * @~english
  922. * @brief Force IP
  923. * @param handle [IN] Device handle
  924. * @param nIP [IN] IP to set
  925. * @param nSubNetMask [IN] Subnet mask
  926. * @param nDefaultGateWay [IN] Default gateway
  927. * @return Success, return MV_OK. Failure, return error code
  928. * @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
  929. If device is in DHCP status, after calling this API to force setting camera network parameter, the device will restart.
  930. ************************************************************************/
  931. MVSDKEXPORT_API int __stdcall MV_GIGE_ForceIpEx(IN void* handle, unsigned int nIP, unsigned int nSubNetMask, unsigned int nDefaultGateWay);
  932. /********************************************************************//**
  933. * @~chinese
  934. * @brief 配置IP方式
  935. * @param handle [IN] 设备句柄
  936. * @param nType [IN] IP类型,见MV_IP_CFG_x
  937. * @return 成功,返回MV_OK,失败,返回错误码
  938. * @remarks 发送命令设置设备的IP方式,如DHCP、LLA等,仅GigEVision设备支持。
  939. * @~english
  940. * @brief IP configuration method
  941. * @param handle [IN] Device handle
  942. * @param nType [IN] IP type, refer to MV_IP_CFG_x
  943. * @return Success, return MV_OK. Failure, return error code
  944. * @remarks Send command to set camera IP mode, such as DHCP and LLA, only supported by GigEVision.
  945. ************************************************************************/
  946. MVSDKEXPORT_API int __stdcall MV_GIGE_SetIpConfig(IN void* handle, unsigned int nType);
  947. /********************************************************************//**
  948. * @~chinese
  949. * @brief 设置仅使用某种模式,type: MV_NET_TRANS_x,不设置时,默认优先使用driver
  950. * @param handle [IN] 设备句柄
  951. * @param nType [IN] 网络传输模式,见MV_NET_TRANS_x
  952. * @return 成功,返回MV_OK,失败,返回错误码
  953. * @remarks 通过该接口可以设置SDK内部优先使用的网络模式,默认优先使用驱动模式,仅GigEVision设备支持。
  954. * @~english
  955. * @brief Set to use only one mode,type: MV_NET_TRANS_x. When do not set, priority is to use driver by default
  956. * @param handle [IN] Device handle
  957. * @param nType [IN] Net transmission mode, refer to MV_NET_TRANS_x
  958. * @return Success, return MV_OK. Failure, return error code
  959. * @remarksSet SDK internal priority network mode through this interface, drive mode by default, only supported by GigEVision camera.
  960. ************************************************************************/
  961. MVSDKEXPORT_API int __stdcall MV_GIGE_SetNetTransMode(IN void* handle, unsigned int nType);
  962. /********************************************************************//**
  963. * @~chinese
  964. * @brief 获取网络传输信息
  965. * @param handle [IN] 设备句柄
  966. * @param pstInfo [OUT] 信息结构体
  967. * @return 成功,返回MV_OK,失败,返回错误码
  968. * @remarks 通过该接口可以获取网络传输相关信息,包括已接收数据大小、丢帧数量等,在MV_CC_StartGrabbing开启采集之后调用。仅GigEVision设备支持。
  969. * @~english
  970. * @brief Get net transmission information
  971. * @param handle [IN] Device handle
  972. * @param pstInfo [OUT] Information Structure
  973. * @return Success, return MV_OK. Failure, return error code
  974. * @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.
  975. ************************************************************************/
  976. MVSDKEXPORT_API int __stdcall MV_GIGE_GetNetTransInfo(IN void* handle, MV_NETTRANS_INFO* pstInfo);
  977. /********************************************************************//**
  978. * @~chinese
  979. * @brief 设置枚举命令的回复包类型
  980. * @param nMode [IN] 回复包类型(默认广播),0-单播,1-广播
  981. * @return 成功,返回MV_OK;错误,返回错误码
  982. * @remarks 该接口只对GigE相机有效。
  983. * @~english
  984. * @brief Setting the ACK mode of devices Discovery.
  985. * @param nMode [IN] ACK mode(Default-Broadcast),0-Unicast,1-Broadcast.
  986. * @return Success, return MV_OK. Failure, return error code
  987. * @remarks This interface is ONLY effective on GigE cameras. \n
  988. ************************************************************************/
  989. MVSDKEXPORT_API int __stdcall MV_GIGE_SetDiscoveryMode(unsigned int nMode);
  990. /********************************************************************//**
  991. * @~chinese
  992. * @brief 设置GVSP取流超时时间
  993. * @param handle [IN] 设备句柄
  994. * @param nMillisec [IN] 超时时间,默认300ms,范围:>10ms
  995. * @return 成功,返回MV_OK;错误,返回错误码
  996. * @remarks 连接设备之后,取流动作发生前,调用该接口可以设置GVSP取流超时时间。GVSP取流超时设置过短可能造成图像异常,设置过长可能造成取流时间变长。
  997. * @~english
  998. * @brief Set GVSP streaming timeout
  999. * @param handle [IN] Device handle
  1000. * @param nMillisec [IN] Timeout, default 300ms, range: >10ms
  1001. * @return Success, return MV_OK. Failure, return error code
  1002. * @remarks After the device is connected, and just before start streaming,
  1003. * call this interface to set GVSP streaming timeout value.
  1004. ************************************************************************/
  1005. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGvspTimeout(void* handle, unsigned int nMillisec);
  1006. /********************************************************************//**
  1007. * @~chinese
  1008. * @brief 获取GVSP取流超时时间
  1009. * @param handle [IN] 设备句柄
  1010. * @param pnMillisec [OUT] 超时时间指针,以毫秒位单位
  1011. * @return 成功,返回MV_OK;错误,返回错误码
  1012. * @remarks 该接口用于获取当前的GVSP取流超时时间
  1013. * @~english
  1014. * @brief Get GVSP streaming timeout
  1015. * @param handle [IN] Device handle
  1016. * @param pnMillisec [OUT] Timeout, ms as unit
  1017. * @return Success, return MV_OK. Failure, return error code
  1018. * @remarks This interface is used to get the current GVSP streaming timeout.
  1019. ************************************************************************/
  1020. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGvspTimeout(IN void* handle, unsigned int* pnMillisec);
  1021. /********************************************************************//**
  1022. * @~chinese
  1023. * @brief 设置GVCP命令超时时间
  1024. * @param handle [IN] 设备句柄
  1025. * @param nMillisec [IN] 超时时间,默认500ms,范围:0-10000ms
  1026. * @return 成功,返回MV_OK;错误,返回错误码
  1027. * @remarks 连接设备之后调用该接口可以设置GVCP命令超时时间。
  1028. * @~english
  1029. * @brief Set GVCP cammand timeout
  1030. * @param handle [IN] Device handle
  1031. * @param nMillisec [IN] Timeout, default 500ms, range: 0-10000ms
  1032. * @return Success, return MV_OK. Failure, return error code
  1033. * @remarks After the device is connected, call this interface to set GVCP command timeout time.
  1034. ************************************************************************/
  1035. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGvcpTimeout(void* handle, unsigned int nMillisec);
  1036. /********************************************************************//**
  1037. * @~chinese
  1038. * @brief 获取GVCP命令超时时间
  1039. * @param handle [IN] 设备句柄
  1040. * @param pnMillisec [OUT] 超时时间指针,以毫秒位单位
  1041. * @return 成功,返回MV_OK;错误,返回错误码
  1042. * @remarks 该接口用于获取当前的GVCP超时时间。
  1043. * @~english
  1044. * @brief Get GVCP cammand timeout
  1045. * @param handle [IN] Device handle
  1046. * @param pnMillisec [OUT] Timeout, ms as unit
  1047. * @return Success, return MV_OK. Failure, return error code
  1048. * @remarks This interface is used to get the current GVCP timeout.
  1049. ************************************************************************/
  1050. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGvcpTimeout(void* handle, unsigned int* pnMillisec);
  1051. /********************************************************************//**
  1052. * @~chinese
  1053. * @brief 设置重传GVCP命令次数
  1054. * @param handle [IN] 设备句柄
  1055. * @param nRetryGvcpTimes [IN] 重传次数,范围:0-100
  1056. * @return 成功,返回MV_OK;错误,返回错误码
  1057. * @remarks 该接口用于在GVCP包传输异常时,增加重传的次数,在一定程度上可以避免设备掉线,范围为0-100。
  1058. * @~english
  1059. * @brief Set the number of retry GVCP cammand
  1060. * @param handle [IN] Device handle
  1061. * @param nRetryGvcpTimes [IN] The number of retries,rang:0-100
  1062. * @return Success, return MV_OK. Failure, return error code
  1063. * @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.
  1064. ************************************************************************/
  1065. MVSDKEXPORT_API int __stdcall MV_GIGE_SetRetryGvcpTimes(void* handle, unsigned int nRetryGvcpTimes);
  1066. /********************************************************************//**
  1067. * @~chinese
  1068. * @brief 获取重传GVCP命令次数
  1069. * @param handle [IN] 设备句柄
  1070. * @param pnRetryGvcpTimes [OUT] 重传次数指针
  1071. * @return 成功,返回MV_OK;错误,返回错误码
  1072. * @remarks 该接口用于获取当前的GVCP重传次数,默认3次。
  1073. * @~english
  1074. * @brief Get the number of retry GVCP cammand
  1075. * @param handle [IN] Device handle
  1076. * @param pnRetryGvcpTimes [OUT] The number of retries
  1077. * @return Success, return MV_OK. Failure, return error code
  1078. * @remarks This interface is used to get the current number of GVCP retransmissions, which defaults to 3.
  1079. ************************************************************************/
  1080. MVSDKEXPORT_API int __stdcall MV_GIGE_GetRetryGvcpTimes(void* handle, unsigned int* pnRetryGvcpTimes);
  1081. /********************************************************************//**
  1082. * @~chinese
  1083. * @brief 获取最佳的packet size,该接口目前只支持GigE设备
  1084. * @param handle [IN] 设备句柄
  1085. * @return 最佳packetsize
  1086. * @remarks 获取最佳的packet size,对应GigEVision设备是SCPS,对应U3V设备是每次从驱动读取的包大小,该大小即网络上传输一个包的大小。该接口需要在MV_CC_OpenDevice之后、MV_CC_StartGrabbing之前调用。 \n
  1087. 该接口不支持CameraLink设备。
  1088. * @~english
  1089. * @brief Get the optimal Packet Size, Only support GigE Camera
  1090. * @param handle [IN] Device handle
  1091. * @return Optimal packetsize
  1092. * @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
  1093. This API is not supported by CameraLink device.
  1094. ************************************************************************/
  1095. MVSDKEXPORT_API int __stdcall MV_CC_GetOptimalPacketSize(IN void* handle);
  1096. /********************************************************************//**
  1097. * @~chinese
  1098. * @brief 设置是否打开重发包支持,及重发包设置
  1099. * @param handle [IN] 设备句柄
  1100. * @param bEnable [IN] 是否支持重发包
  1101. * @param nMaxResendPercent [IN] 最大重发比
  1102. * @param nResendTimeout [IN] 重发超时时间
  1103. * @return 成功,返回MV_OK;错误,返回错误码
  1104. * @remarks 连接设备之后调用该接口可以设置重发包属性,仅GigEVision设备支持。
  1105. * @~english
  1106. * @brief Set whethe to enable resend, and set resend
  1107. * @param handle [IN] Device handle
  1108. * @param bEnable [IN] enable resend
  1109. * @param nMaxResendPercent [IN] Max resend persent
  1110. * @param nResendTimeout [IN] Resend timeout
  1111. * @return Success, return MV_OK. Failure, return error code
  1112. * @remarks After the device is connected, call this interface to set resend packet properties, only supported by GigEVision camera.
  1113. ************************************************************************/
  1114. MVSDKEXPORT_API int __stdcall MV_GIGE_SetResend(void* handle, unsigned int bEnable, unsigned int nMaxResendPercent, unsigned int nResendTimeout);
  1115. /********************************************************************//**
  1116. * @~chinese
  1117. * @brief 设置重传命令最大尝试次数
  1118. * @param handle [IN] 设备句柄
  1119. * @param nRetryTimes [IN] 重传命令最大尝试次数,默认20
  1120. * @return 成功,返回MV_OK;错误,返回错误码
  1121. * @remarks 该接口必须在调用MV_GIGE_SetResend开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER
  1122. * @~english
  1123. * @brief set the max resend retry times
  1124. * @param handle [IN] Device handle
  1125. * @param nRetryTimes [IN] The max times to retry resending lost packets,default 20
  1126. * @return Success, return MV_OK. Failure, return error code
  1127. * @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
  1128. * otherwise would fail and return MV_E_CALLORDER.
  1129. ************************************************************************/
  1130. MVSDKEXPORT_API int __stdcall MV_GIGE_SetResendMaxRetryTimes (void* handle, unsigned int nRetryTimes);
  1131. /********************************************************************//**
  1132. * @~chinese
  1133. * @brief 获取重传命令最大尝试次数
  1134. * @param handle [IN] 设备句柄
  1135. * @param pnRetryTimes [OUT] 重传命令最大尝试次数
  1136. * @return 成功,返回MV_OK;错误,返回错误码
  1137. * @remarks 该接口必须在调用MV_GIGE_SetResend开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER
  1138. * @~english
  1139. * @brief get the max resend retry times
  1140. * @param handle [IN] Device handle
  1141. * @param pnRetryTimes [OUT] The max times to retry resending lost packets
  1142. * @return Success, return MV_OK. Failure, return error code
  1143. * @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
  1144. * otherwise would fail and return MV_E_CALLORDER.
  1145. ************************************************************************/
  1146. MVSDKEXPORT_API int __stdcall MV_GIGE_GetResendMaxRetryTimes (void* handle, unsigned int* pnRetryTimes);
  1147. /********************************************************************//**
  1148. * @~chinese
  1149. * @brief 设置同一重传包多次请求之间的时间间隔
  1150. * @param handle [IN] 设备句柄
  1151. * @param nMillisec [IN] 同一重传包多次请求之间的时间间隔,默认10ms
  1152. * @return 成功,返回MV_OK;错误,返回错误码
  1153. * @remarks 该接口必须在调用MV_GIGE_SetResend开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER
  1154. * @~english
  1155. * @brief set time interval between same resend requests
  1156. * @param handle [IN] Device handle
  1157. * @param nMillisec [IN] The time interval between same resend requests,default 10ms
  1158. * @return Success, return MV_OK. Failure, return error code
  1159. * @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
  1160. * otherwise would fail and return MV_E_CALLORDER.
  1161. ************************************************************************/
  1162. MVSDKEXPORT_API int __stdcall MV_GIGE_SetResendTimeInterval (void* handle, unsigned int nMillisec);
  1163. /********************************************************************//**
  1164. * @~chinese
  1165. * @brief 获取同一重传包多次请求之间的时间间隔
  1166. * @param handle [IN] 设备句柄
  1167. * @param pnMillisec [OUT] 同一重传包多次请求之间的时间间隔
  1168. * @return 成功,返回MV_OK;错误,返回错误码
  1169. * @remarks 该接口必须在调用MV_GIGE_SetResend开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER
  1170. * @~english
  1171. * @brief get time interval between same resend requests
  1172. * @param handle [IN] Device handle
  1173. * @param pnMillisec [OUT] The time interval between same resend requests
  1174. * @return Success, return MV_OK. Failure, return error code
  1175. * @remarks This interface MUST be called after enabling resending lost packets by calling MV_GIGE_SetResend, \n
  1176. * otherwise would fail and return MV_E_CALLORDER.
  1177. ************************************************************************/
  1178. MVSDKEXPORT_API int __stdcall MV_GIGE_GetResendTimeInterval (void* handle, unsigned int* pnMillisec);
  1179. /********************************************************************//**
  1180. * @~chinese
  1181. * @brief 设置传输模式,可以为单播模式、组播模式等
  1182. * @param handle [IN] 设备句柄
  1183. * @param stTransmissionType [IN] 传输模式结构体
  1184. * @return 成功,返回MV_OK;错误,返回错误码
  1185. * @remarks 通过该接口可以设置传输模式为单播、组播等模式,仅GigEVision设备支持。
  1186. * @~english
  1187. * @brief Set transmission type,Unicast or Multicast
  1188. * @param handle [IN] Device handle
  1189. * @param stTransmissionType [IN] Struct of transmission type
  1190. * @return Success, return MV_OK. Failure, return error code
  1191. * @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.
  1192. ************************************************************************/
  1193. MVSDKEXPORT_API int __stdcall MV_GIGE_SetTransmissionType(void* handle, MV_TRANSMISSION_TYPE * pstTransmissionType);
  1194. /********************************************************************//**
  1195. * @~chinese
  1196. * @brief 发出动作命令
  1197. * @param pstActionCmdInfo [IN] 动作命令信息
  1198. * @param pstActionCmdResults [OUT] 动作命令返回信息列表
  1199. * @return 成功,返回MV_OK;错误,返回错误码
  1200. * @remarks 仅GigEVision设备支持。
  1201. * @~english
  1202. * @brief Issue Action Command
  1203. * @param pstActionCmdInfo [IN] Action Command
  1204. * @param pstActionCmdResults [OUT] Action Command Result List
  1205. * @return Success, return MV_OK. Failure, return error code
  1206. * @remarks This API is supported only by GigEVision camera.
  1207. ************************************************************************/
  1208. MVSDKEXPORT_API int __stdcall MV_GIGE_IssueActionCommand(IN MV_ACTION_CMD_INFO* pstActionCmdInfo, OUT MV_ACTION_CMD_RESULT_LIST* pstActionCmdResults);
  1209. /********************************************************************//**
  1210. * @~chinese
  1211. * @brief 获取组播状态
  1212. * @param pstDevInfo [IN] 设备信息结构体
  1213. * @param pbStatus [OUT] 组播状态,true:组播状态,false:非组播
  1214. * @return 成功,返回MV_OK;错误,返回错误码
  1215. * @remarks 该接口用于判断设备当前是否处于组播状态,解决客户端枚举时需要打开设备判断组播的问题。
  1216. * @~english
  1217. * @brief Get Multicast Status
  1218. * @param pstDevInfo [IN] Device Information Structure
  1219. * @param pbStatus [OUT] Status of Multicast
  1220. * @return Success, return MV_OK. Failure, return error code
  1221. * @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.
  1222. ************************************************************************/
  1223. MVSDKEXPORT_API int __stdcall MV_GIGE_GetMulticastStatus(IN MV_CC_DEVICE_INFO* pstDevInfo, OUT bool* pbStatus);
  1224. /************************************************************************/
  1225. /* CameraLink 设备独有的接口 */
  1226. /************************************************************************/
  1227. /********************************************************************//**
  1228. * @~chinese
  1229. * @brief 设置设备波特率
  1230. * @param handle [IN] 设备句柄
  1231. * @param nBaudrate [IN] 设置的波特率值,数值参考CameraParams.h中宏定义,如#define MV_CAML_BAUDRATE_9600 0x00000001
  1232. * @return 成功,返回MV_OK,失败,返回错误码
  1233. * @remarks 该接口支持在设备未连接时调用。
  1234. * @~english
  1235. * @brief Set device baudrate using one of the CL_BAUDRATE_XXXX value
  1236. * @param handle [IN] Device handle
  1237. * @param nBaudrate [IN] baud rate to set. Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
  1238. * @return Success, return MV_OK. Failure, return error code
  1239. * @remarks This API is supported only by CameraLink device.\n
  1240. This API support calls when devices are not connected.
  1241. ************************************************************************/
  1242. MVSDKEXPORT_API int __stdcall MV_CAML_SetDeviceBaudrate(IN void* handle, unsigned int nBaudrate);
  1243. /********************************************************************//**
  1244. * @~chinese
  1245. * @brief 获取设备波特率
  1246. * @param handle [IN] 设备句柄
  1247. * @param pnCurrentBaudrate [OUT] 波特率信息指针,数值参考CameraParams.h中宏定义,如#define MV_CAML_BAUDRATE_9600 0x00000001
  1248. * @return 成功,返回MV_OK,失败,返回错误码
  1249. * @remarks 该接口支持在设备未连接时调用。
  1250. * @~english
  1251. * @brief Returns the current device baudrate, using one of the CL_BAUDRATE_XXXX value
  1252. * @param handle [IN] Device handle
  1253. * @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
  1254. * @return Success, return MV_OK. Failure, return error code
  1255. * @remarks This API is supported only by CameraLink device.\n
  1256. This API support calls when devices are not connected.
  1257. ************************************************************************/
  1258. MVSDKEXPORT_API int __stdcall MV_CAML_GetDeviceBaudrate(IN void* handle,unsigned int* pnCurrentBaudrate);
  1259. /********************************************************************//**
  1260. * @~chinese
  1261. * @brief 获取设备与主机间连接支持的波特率
  1262. * @param handle [IN] 设备句柄
  1263. * @param pnBaudrateAblity [OUT] 支持的波特率信息的指针。所支持波特率的或运算结果,单个数值参考CameraParams.h中宏定义,如MV_CAML_BAUDRATE_9600 0x00000001
  1264. * @return 成功,返回MV_OK,失败,返回错误码
  1265. * @remarks 该接口支持在设备未连接时调用。
  1266. * @~english
  1267. * @brief Returns supported baudrates of the combined device and host interface
  1268. * @param handle [IN] Device handle
  1269. * @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
  1270. * @return Success, return MV_OK. Failure, return error code
  1271. * @remarks This API is supported only by CameraLink device.\n
  1272. This API support calls when devices are not connected.
  1273. ************************************************************************/
  1274. MVSDKEXPORT_API int __stdcall MV_CAML_GetSupportBaudrates(IN void* handle,unsigned int* pnBaudrateAblity);
  1275. /********************************************************************//**
  1276. * @~chinese
  1277. * @brief 设置串口操作等待时长
  1278. * @param handle [IN] 设备句柄
  1279. * @param nMillisec [IN] 串口操作的等待时长, 单位为ms
  1280. * @return 成功,返回MV_OK,失败,返回错误码
  1281. * @~english
  1282. * @brief Sets the timeout for operations on the serial port
  1283. * @param handle [IN] Device handle
  1284. * @param nMillisec [IN] Timeout in [ms] for operations on the serial port.
  1285. * @return Success, return MV_OK. Failure, return error code
  1286. ************************************************************************/
  1287. MVSDKEXPORT_API int __stdcall MV_CAML_SetGenCPTimeOut(IN void* handle, unsigned int nMillisec);
  1288. /************************************************************************/
  1289. /* U3V 设备独有的接口 */
  1290. /************************************************************************/
  1291. /********************************************************************//**
  1292. * @~chinese
  1293. * @brief 设置U3V的传输包大小
  1294. * @param handle [IN] 设备句柄
  1295. * @param nTransferSize [IN] 传输的包大小, Byte,默认为1M,rang:>=0x10000
  1296. * @return 成功,返回MV_OK,失败,返回错误码
  1297. * @remarks 增加传输包大小可以适当降低取流时的CPU占用率。但不同的PC和不同USB扩展卡存在不同的兼容性,如果该参数设置过大可能会出现取不到图像的风险。
  1298. * @~english
  1299. * @brief Set transfer size of U3V device
  1300. * @param handle [IN] Device handle
  1301. * @param nTransferSize [IN] Transfer size,Byte,default:1M,rang:>=0x10000
  1302. * @return Success, return MV_OK. Failure, return error code
  1303. * @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.
  1304. ************************************************************************/
  1305. MVSDKEXPORT_API int __stdcall MV_USB_SetTransferSize(IN void* handle, unsigned int nTransferSize);
  1306. /********************************************************************//**
  1307. * @~chinese
  1308. * @brief 获取U3V的传输包大小
  1309. * @param handle [IN] 设备句柄
  1310. * @param pnTransferSize [OUT] 传输的包大小指针, Byte
  1311. * @return 成功,返回MV_OK,失败,返回错误码
  1312. * @remarks 该接口用于获取当前的U3V传输包大小,默认1M。
  1313. * @~english
  1314. * @brief Get transfer size of U3V device
  1315. * @param handle [IN] Device handle
  1316. * @param pnTransferSize [OUT] Transfer size,Byte
  1317. * @return Success, return MV_OK. Failure, return error code
  1318. * @remarks This interface is used to get the current U3V transfer packet size, default 1M.
  1319. ************************************************************************/
  1320. MVSDKEXPORT_API int __stdcall MV_USB_GetTransferSize(IN void* handle, unsigned int* pnTransferSize);
  1321. /********************************************************************//**
  1322. * @~chinese
  1323. * @brief 设置U3V的传输通道个数
  1324. * @param handle [IN] 设备句柄
  1325. * @param nTransferWays [IN] 传输通道个数,范围:1-10
  1326. * @return 成功,返回MV_OK,失败,返回错误码
  1327. * @remarks 用户可以根据PC的性能、设备出图帧率、图像大小和内存使用率等因素对该参数进行调节。但不同的PC和不同的USB扩展卡存在不同的兼容性。
  1328. * @~english
  1329. * @brief Set transfer ways of U3V device
  1330. * @param handle [IN] Device handle
  1331. * @param nTransferWays [IN] Transfer ways,rang:1-10
  1332. * @return Success, return MV_OK. Failure, return error code
  1333. * @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.
  1334. ************************************************************************/
  1335. MVSDKEXPORT_API int __stdcall MV_USB_SetTransferWays(IN void* handle, unsigned int nTransferWays);
  1336. /********************************************************************//**
  1337. * @~chinese
  1338. * @brief 获取U3V的传输通道个数
  1339. * @param handle [IN] 设备句柄
  1340. * @param pnTransferWays [OUT] 传输通道个数指针
  1341. * @return 成功,返回MV_OK,失败,返回错误码
  1342. * @remarks 该接口用于获取当前的U3V异步取流节点个数,2000W设备的MONO8默认为3个,YUV为默认2个,RGB为默认1个,其它情况默认8个节点。
  1343. * @~english
  1344. * @brief Get transfer ways of U3V device
  1345. * @param handle [IN] Device handle
  1346. * @param pnTransferWays [OUT] Transfer ways
  1347. * @return Success, return MV_OK. Failure, return error code
  1348. * @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.
  1349. ************************************************************************/
  1350. MVSDKEXPORT_API int __stdcall MV_USB_GetTransferWays(IN void* handle, unsigned int* pnTransferWays);
  1351. /************************************************************************/
  1352. /* GenTL相关接口,其它接口可以复用(部分接口不支持) */
  1353. /************************************************************************/
  1354. /********************************************************************//**
  1355. * @~chinese
  1356. * @brief 通过GenTL枚举Interfaces
  1357. * @param pstIFList [OUT] Interfaces列表
  1358. * @param strGenTLPath [IN] GenTL的cti文件路径
  1359. * @return 成功,返回MV_OK;错误,返回错误码
  1360. * @remarks Interfaces列表的内存是在SDK内部分配的,多线程调用该接口时会进行设备列表内存的释放和申请,\n
  1361. 建议尽量避免多线程枚举操作。
  1362. * @~english
  1363. * @brief Enumerate Interfaces with GenTL
  1364. * @param pstIFList [OUT] Interfaces List
  1365. * @param strGenTLPath [IN] GenTL cti file path
  1366. * @return Success, return MV_OK. Failure, return error code
  1367. * @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
  1368. It is recommended to avoid multithreaded enumeration operations as much as possible.
  1369. ************************************************************************/
  1370. MVSDKEXPORT_API int __stdcall MV_CC_EnumInterfacesByGenTL(IN OUT MV_GENTL_IF_INFO_LIST* pstIFList, IN const char * strGenTLPath);
  1371. /********************************************************************//**
  1372. * @~chinese
  1373. * @brief 通过GenTL Interface枚举设备
  1374. * @param pstIFInfo [IN] Interface信息
  1375. * @param pstDevList [OUT] 设备列表
  1376. * @return 成功,返回MV_OK;错误,返回错误码
  1377. * @remarks 设备列表的内存是在SDK内部分配的,多线程调用该接口时会进行设备列表内存的释放和申请,\n
  1378. 建议尽量避免多线程枚举操作。
  1379. * @~english
  1380. * @brief Enumerate Devices with GenTL interface
  1381. * @param pstIFInfo [IN] Interface information
  1382. * @param pstDevList [OUT] Device List
  1383. * @return Success, return MV_OK. Failure, return error code
  1384. * @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
  1385. It is recommended to avoid multithreaded enumeration operations as much as possible.
  1386. ************************************************************************/
  1387. MVSDKEXPORT_API int __stdcall MV_CC_EnumDevicesByGenTL(IN MV_GENTL_IF_INFO* pstIFInfo, IN OUT MV_GENTL_DEV_INFO_LIST* pstDevList);
  1388. /********************************************************************//**
  1389. * @~chinese
  1390. * @brief 通过GenTL设备信息创建设备句柄
  1391. * @param handle [OUT] 设备句柄
  1392. * @param pstDevInfo [IN] 设备信息结构体指针
  1393. * @return 成功,返回MV_OK;错误,返回错误码
  1394. * @remarks 根据输入的设备信息,创建库内部必须的资源和初始化内部模块。
  1395. * @~english
  1396. * @brief Create Device Handle with GenTL Device Info
  1397. * @param handle [OUT] Device handle
  1398. * @param pstDevInfo [IN] Device Information
  1399. * @return Success, return MV_OK. Failure, return error code
  1400. * @remarks Create required resources within library and initialize internal module according to input device information.
  1401. ************************************************************************/
  1402. MVSDKEXPORT_API int __stdcall MV_CC_CreateHandleByGenTL(OUT void ** handle, IN const MV_GENTL_DEV_INFO* pstDevInfo);
  1403. /************************************************************************/
  1404. /* XML解析树的生成 */
  1405. /* XML parse tree generation */
  1406. /************************************************************************/
  1407. /********************************************************************//**
  1408. * @~chinese
  1409. * @brief 获取设备属性树XML
  1410. * @param handle [IN] 设备句柄
  1411. * @param pData [OUT] XML数据接收缓存
  1412. * @param nDataSize [IN] 接收缓存大小
  1413. * @param pnDataLen [OUT] 实际数据大小
  1414. * @return 成功,返回MV_OK;错误,返回错误码
  1415. * @remarks 当pData为NULL或nDataSize比实际的xml文件小时,不拷贝数据,由pnDataLen返回xml文件大小;\n
  1416. 当pData为有效缓存地址,且缓存足够大时,拷贝完整数据保存在该缓存里面,并由pnDataLen返回xml文件实际大小。
  1417. * @~english
  1418. * @brief Get camera feature tree XML
  1419. * @param handle [IN] Device handle
  1420. * @param pData [OUT] XML data receiving buffer
  1421. * @param nDataSize [IN] Buffer size
  1422. * @param pnDataLen [OUT] Actual data length
  1423. * @return Success, return MV_OK. Failure, return error code
  1424. * @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
  1425. 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.
  1426. ***********************************************************************/
  1427. MVSDKEXPORT_API int __stdcall MV_XML_GetGenICamXML(IN void* handle, IN OUT unsigned char* pData, IN unsigned int nDataSize, OUT unsigned int* pnDataLen);
  1428. /********************************************************************//**
  1429. * @~chinese
  1430. * @brief 获得当前节点的访问模式
  1431. * @param handle [IN] 设备句柄
  1432. * @param strName [IN] 节点名称
  1433. * @param penAccessMode [OUT] 节点的访问模式
  1434. * @return 成功,返回MV_OK;错误,返回错误码
  1435. * @~english
  1436. * @brief Get Access mode of cur node
  1437. * @param handle [IN] Device handle
  1438. * @param strName [IN] Name of node
  1439. * @param penAccessMode [OUT] Access mode of the node
  1440. * @return Success, return MV_OK. Failure, return error code
  1441. ***********************************************************************/
  1442. MVSDKEXPORT_API int __stdcall MV_XML_GetNodeAccessMode(IN void* handle, IN const char * pstrName, OUT MV_XML_AccessMode *penAccessMode);
  1443. /********************************************************************//**
  1444. * @~chinese
  1445. * @brief 获得当前节点的类型
  1446. * @param handle [IN] 设备句柄
  1447. * @param strName [IN] 节点名称
  1448. * @param penInterfaceType [OUT] 节点的类型
  1449. * @return 成功,返回MV_OK;错误,返回错误码
  1450. * @remarks 该接口可以在调用万能接口之前,提前知道节点类型,方便用户选择合适的万能接口进行节点值的设置和获取。
  1451. * @~english
  1452. * @brief Get Interface Type of cur node
  1453. * @param handle [IN] Device handle
  1454. * @param strName [IN] Name of node
  1455. * @param penInterfaceType [OUT] Interface Type of the node
  1456. * @return Success, return MV_OK. Failure, return error code
  1457. * @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.
  1458. ***********************************************************************/
  1459. MVSDKEXPORT_API int __stdcall MV_XML_GetNodeInterfaceType(IN void* handle, IN const char * pstrName, OUT MV_XML_InterfaceType *penInterfaceType);
  1460. /************************************************************************/
  1461. /* 附加接口 */
  1462. /* Additional interface */
  1463. /************************************************************************/
  1464. /********************************************************************//**
  1465. * @~chinese
  1466. * @brief 保存图片,支持Bmp和Jpeg.
  1467. * @param handle [IN] 设备句柄
  1468. * @param pstSaveParam [IN][OUT] 保存图片参数结构体
  1469. * @return 成功,返回MV_OK;错误,返回错误码
  1470. * @remarks 通过将接口可以将从设备采集到的原始图像数据转换成JPEG或者BMP等格式并存放在指定内存中,然后用户可以将转换之后的数据直接保存成图片文件。该接口调用无接口顺序要求,有图像源数据就可以进行转换,可以先调用MV_CC_GetOneFrameTimeout或者MV_CC_RegisterImageCallBackEx设置回调函数,获取一帧图像数据,然后再通过该接口转换格式。 \n
  1471. MV_CC_SaveImageEx2比MV_CC_SaveImageEx增加参数handle,为了保证与其他接口的统一。
  1472. * @~english
  1473. * @brief Save image, support Bmp and Jpeg.
  1474. * @param handle [IN] Device handle
  1475. * @param pstSaveParam [IN][OUT] Save image parameters structure
  1476. * @return Success, return MV_OK. Failure, return error code
  1477. * @remarks Once there is image data, you can call this API to convert the data. \n
  1478. 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
  1479. Comparing with the API MV_CC_SaveImageEx, this API added the parameter handle to ensure the unity with other API.
  1480. ************************************************************************/
  1481. MVSDKEXPORT_API int __stdcall MV_CC_SaveImageEx2(IN void* handle, MV_SAVE_IMAGE_PARAM_EX* pstSaveParam);
  1482. /********************************************************************//**
  1483. * @~chinese
  1484. * @brief 保存图像到文件
  1485. * @param handle [IN] 设备句柄
  1486. * @param pstSaveFileParam [IN][OUT] 保存图片文件参数结构体
  1487. * @return 成功,返回MV_OK;错误,返回错误码
  1488. * @remarks 该接口支持BMP/JPEG/PNG/TIFF。
  1489. * @~english
  1490. * @brief Save the image file.
  1491. * @param handle [IN] Device handle
  1492. * @param pstSaveFileParam [IN][OUT] Save the image file parameter structure
  1493. * @return Success, return MV_OK. Failure, return error code
  1494. * @remarks This API support BMP/JPEG/PNG/TIFF.
  1495. ************************************************************************/
  1496. MVSDKEXPORT_API int __stdcall MV_CC_SaveImageToFile(IN void* handle, MV_SAVE_IMG_TO_FILE_PARAM* pstSaveFileParam);
  1497. /********************************************************************//**
  1498. * @~chinese
  1499. * @brief 保存3D点云数据,支持PLY、CSV和OBJ三种格式
  1500. * @param handle [IN] 设备句柄
  1501. * @param pstPointDataParam [IN][OUT] 保存点云数据参数结构体
  1502. * @return 成功,返回MV_OK;错误,返回错误码
  1503. * @remarks 3D数据格式保存成3D文件格式,支持PLY/CSV/OBJ,/n
  1504. 目前支持PixelType_Gvsp_Coord3D_ABC32、PixelType_Gvsp_Coord3D_ABC32f、PixelType_Gvsp_Coord3D_AB32、PixelType_Gvsp_Coord3D_AB32f、PixelType_Gvsp_Coord3D_AC32、PixelType_Gvsp_Coord3D_AC32f,暂不支持其他3D格式。
  1505. * @~english
  1506. * @brief Save 3D point data, support PLY、CSV and OBJ
  1507. * @param handle [IN] Device handle
  1508. * @param pstPointDataParam [IN][OUT] Save 3D point data parameters structure
  1509. * @return Success, return MV_OK. Failure, return error code
  1510. * @remarks Save the 3D data format to 3D file format,support PLY、CSV and OBJ,/n
  1511. only support PixelType_Gvsp_Coord3D_ABC32、PixelType_Gvsp_Coord3D_ABC32f、PixelType_Gvsp_Coord3D_AB32、PixelType_Gvsp_Coord3D_AB32f、PixelType_Gvsp_Coord3D_AC32、PixelType_Gvsp_Coord3D_AC32f,Other 3D format is not supported now.
  1512. ************************************************************************/
  1513. MVSDKEXPORT_API int __stdcall MV_CC_SavePointCloudData(IN void* handle, MV_SAVE_POINT_CLOUD_PARAM* pstPointDataParam);
  1514. /********************************************************************//**
  1515. * @~chinese
  1516. * @brief 图像旋转
  1517. * @param handle [IN] 设备句柄
  1518. * @param pstRotateParam [IN][OUT] 图像旋转参数结构体
  1519. * @return 成功,返回MV_OK;错误,返回错误码
  1520. * @remarks 该接口只支持MONO8/RGB24/BGR24格式数据的90/180/270度旋转。
  1521. * @~english
  1522. * @brief Rotate Image
  1523. * @param handle [IN] Device handle
  1524. * @param pstRotateParam [IN][OUT] Rotate image parameter structure
  1525. * @return Success, return MV_OK. Failure, return error code
  1526. * @remarks This API only support 90/180/270 rotation of data in the MONO8/RGB24/BGR24 format.
  1527. ************************************************************************/
  1528. MVSDKEXPORT_API int __stdcall MV_CC_RotateImage(IN void* handle, IN OUT MV_CC_ROTATE_IMAGE_PARAM* pstRotateParam);
  1529. /********************************************************************//**
  1530. * @~chinese
  1531. * @brief 图像翻转
  1532. * @param handle [IN] 设备句柄
  1533. * @param pstFlipParam [IN][OUT] 图像翻转参数结构体
  1534. * @return 成功,返回MV_OK;错误,返回错误码
  1535. * @remarks 该接口只支持MONO8/RGB24/BGR24格式数据的垂直和水平翻转。
  1536. * @~english
  1537. * @brief Flip Image
  1538. * @param handle [IN] Device handle
  1539. * @param pstFlipParam [IN][OUT] Flip image parameter structure
  1540. * @return Success, return MV_OK. Failure, return error code
  1541. * @remarks This API only support vertical and horizontal reverse of data in the MONO8/RGB24/BGR24 format.
  1542. ************************************************************************/
  1543. MVSDKEXPORT_API int __stdcall MV_CC_FlipImage(IN void* handle, IN OUT MV_CC_FLIP_IMAGE_PARAM* pstFlipParam);
  1544. /********************************************************************//**
  1545. * @~chinese
  1546. * @brief 像素格式转换
  1547. * @param handle [IN] 设备句柄
  1548. * @param pstCvtParam [IN][OUT] 像素格式转换参数结构体
  1549. * @return 成功,返回MV_OK;错误,返回错误码
  1550. * @remarks 通过将接口可以将从设备采集到的原始图像数据转换成用户所需的像素格式并存放在指定内存中。该接口调用无接口顺序要求,有图像源数据就可以进行转换,可以先调用MV_CC_GetOneFrameTimeout或者MV_CC_RegisterImageCallBackEx设置回调函数,获取一帧图像数据,然后再通过该接口转换格式。如果设备当前采集图像是JPEG压缩的格式,则不支持调用该接口进行转换。 \n
  1551. * @~english
  1552. * @brief Pixel format conversion
  1553. * @param handle [IN] Device handle
  1554. * @param pstCvtParam [IN][OUT] Convert Pixel Type parameter structure
  1555. * @return Success, return MV_OK. Failure, return error code
  1556. * @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
  1557. ************************************************************************/
  1558. MVSDKEXPORT_API int __stdcall MV_CC_ConvertPixelType(IN void* handle, IN OUT MV_CC_PIXEL_CONVERT_PARAM* pstCvtParam);
  1559. /********************************************************************//**
  1560. * @~chinese
  1561. * @brief 设置插值算法类型
  1562. * @param handle [IN] 设备句柄
  1563. * @param nBayerCvtQuality [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(默认为最优)
  1564. * @return 成功,返回MV_OK;错误,返回错误码
  1565. * @remarks 设置内部图像转换接口的Bayer插值算法类型参数,MV_CC_ConvertPixelType、MV_CC_GetImageForRGB/BGR接口内部使用的插值算法是该接口所设定的。
  1566. * @~english
  1567. * @brief Interpolation algorithm type setting
  1568. * @param handle [IN] Device handle
  1569. * @param nBayerCvtQuality [IN] Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal
  1570. * @return Success, return MV_OK. Failure, return error code
  1571. * @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_GetImageForRGB/BGR interfaces is set by this interface.
  1572. ************************************************************************/
  1573. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerCvtQuality(IN void* handle, IN unsigned int nBayerCvtQuality);
  1574. /********************************************************************//**
  1575. * @~chinese
  1576. * @brief 设置Bayer格式的Gamma值
  1577. * @param handle [IN] 设备句柄
  1578. * @param fBayerGammaValue [IN] Gamma值[0.1,4.0]
  1579. * @return 成功,返回MV_OK;错误,返回错误码
  1580. * @remarks 设置该值后,在调用MV_CC_ConvertPixelType、MV_CC_SaveImageEx2接口将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
  1581. * @~english
  1582. * @brief Set Gamma value
  1583. * @param handle [IN] Device handle
  1584. * @param fBayerGammaValue [IN] Gamma value[0.1,4.0]
  1585. * @return Success, return MV_OK. Failure, return error code
  1586. * @remarks After setting the value, it work in the calling MV_CC_ConvertPixelType\MV_CC_SaveImageEx2 API convert Bayer8/10/12/16 to RGB24/48, RGBA32/64,BGR24/48,BGRA32/64.
  1587. ************************************************************************/
  1588. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerGammaValue(IN void* handle, IN float fBayerGammaValue);
  1589. /********************************************************************//**
  1590. * @~chinese
  1591. * @brief 设置Bayer格式的Gamma信息
  1592. * @param handle [IN] 设备句柄
  1593. * @param pstGammaParam [IN] Gamma信息
  1594. * @return 成功,返回MV_OK;错误,返回错误码
  1595. * @remarks 设置该信息后,在调用MV_CC_ConvertPixelType、MV_CC_SaveImageEx2接口将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
  1596. * @~english
  1597. * @brief Set Gamma param
  1598. * @param handle [IN] Device handle
  1599. * @param pstGammaParam [IN] Gamma param
  1600. * @return Success, return MV_OK. Failure, return error code
  1601. * @remarks After setting the param, it work in the calling MV_CC_ConvertPixelType\MV_CC_SaveImageEx2 API convert Bayer8/10/12/16 to RGB24/48, RGBA32/64,BGR24/48,BGRA32/64.
  1602. ************************************************************************/
  1603. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerGammaParam(IN void* handle, IN MV_CC_GAMMA_PARAM* pstGammaParam);
  1604. /********************************************************************//**
  1605. * @~chinese
  1606. * @brief 设置Bayer格式的CCM使能和矩阵,量化系数默认1024
  1607. * @param handle [IN] 设备句柄
  1608. * @param pstCCMParam [IN] CCM参数
  1609. * @return 成功,返回MV_OK;错误,返回错误码
  1610. * @remarks 开启CCM并设置CCM矩阵后,在调用MV_CC_ConvertPixelType、MV_CC_SaveImageEx2接口将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
  1611. * @~english
  1612. * @brief Set CCM param,Scale default 1024
  1613. * @param handle [IN] Device handle
  1614. * @param pstCCMParam [IN] CCM parameter structure
  1615. * @return Success, return MV_OK. Failure, return error code
  1616. * @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 Bayer8/10/12/16 to RGB24/48, RGBA32/64,BGR24/48,BGRA32/64.
  1617. ************************************************************************/
  1618. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerCCMParam(IN void* handle, IN MV_CC_CCM_PARAM* pstCCMParam);
  1619. /********************************************************************//**
  1620. * @~chinese
  1621. * @brief 设置Bayer格式的CCM使能和矩阵
  1622. * @param handle [IN] 设备句柄
  1623. * @param pstCCMParam [IN] CCM参数
  1624. * @return 成功,返回MV_OK;错误,返回错误码
  1625. * @remarks 开启CCM并设置CCM矩阵后,在调用MV_CC_ConvertPixelType、MV_CC_SaveImageEx2接口将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
  1626. * @~english
  1627. * @brief Set CCM param
  1628. * @param handle [IN] Device handle
  1629. * @param pstCCMParam [IN] CCM parameter structure
  1630. * @return Success, return MV_OK. Failure, return error code
  1631. * @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 Bayer8/10/12/16 to RGB24/48, RGBA32/64,BGR24/48,BGRA32/64.
  1632. ************************************************************************/
  1633. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerCCMParamEx(IN void* handle, IN MV_CC_CCM_PARAM_EX* pstCCMParam);
  1634. /********************************************************************//**
  1635. * @~chinese
  1636. * @brief 设置Bayer格式的CLUT使能和信息
  1637. * @param handle [IN] 设备句柄
  1638. * @param pstCLUTParam [IN] CLUT参数
  1639. * @return 成功,返回MV_OK;错误,返回错误码
  1640. * @remarks 开启CLUT并设置CLUT信息后,在调用MV_CC_ConvertPixelType、MV_CC_SaveImageEx2接口将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
  1641. * @~english
  1642. * @brief Set CLUT param
  1643. * @param handle [IN] Device handle
  1644. * @param pstCLUTParam [IN] CLUT parameter structure
  1645. * @return Success, return MV_OK. Failure, return error code
  1646. * @remarks After enable the CLUT and set CLUT, It work in the calling MV_CC_ConvertPixelType\MV_CC_SaveImageEx2 API convert Bayer8/10/12/16 to RGB24/48, RGBA32/64,BGR24/48,BGRA32/64.
  1647. ************************************************************************/
  1648. MVSDKEXPORT_API int __stdcall MV_CC_SetBayerCLUTParam(IN void* handle, IN MV_CC_CLUT_PARAM* pstCLUTParam);
  1649. /********************************************************************//**
  1650. * @~chinese
  1651. * @brief 图像对比度调节
  1652. * @param handle [IN] 设备句柄
  1653. * @param pstContrastParam [IN] 对比度调节参数
  1654. * @return 成功,返回MV_OK;错误,返回错误码
  1655. * @~english
  1656. * @brief Adjust image contrast
  1657. * @param handle [IN] Device handle
  1658. * @param pstContrastParam [IN] Contrast parameter structure
  1659. * @return Success, return MV_OK. Failure, return error code
  1660. ************************************************************************/
  1661. MVSDKEXPORT_API int __stdcall MV_CC_ImageContrast(IN void* handle, IN OUT MV_CC_CONTRAST_PARAM* pstContrastParam);
  1662. /********************************************************************//**
  1663. * @~chinese
  1664. * @brief 图像锐化
  1665. * @param handle [IN] 设备句柄
  1666. * @param pstSharpenParam [IN] 锐化参数
  1667. * @return 成功,返回MV_OK;错误,返回错误码
  1668. * @~english
  1669. * @brief Image sharpen
  1670. * @param handle [IN] Device handle
  1671. * @param pstSharpenParam [IN] Sharpen parameter structure
  1672. * @return Success, return MV_OK. Failure, return error code
  1673. ************************************************************************/
  1674. MVSDKEXPORT_API int __stdcall MV_CC_ImageSharpen(IN void* handle, IN OUT MV_CC_SHARPEN_PARAM* pstSharpenParam);
  1675. /********************************************************************//**
  1676. * @~chinese
  1677. * @brief 色彩校正(包括CCM和CLUT)
  1678. * @param handle [IN] 设备句柄
  1679. * @param pstColorCorrectParam [IN] 色彩校正参数
  1680. * @return 成功,返回MV_OK;错误,返回错误码
  1681. * @remarks 该接口支持单独CCM或者CLUT,也支持同时进行CCM和CLUT,用户可以通过CCM和CLUT信息中的使能开关进行选择。
  1682. * @~english
  1683. * @brief Color Correct(include CCM and CLUT)
  1684. * @param handle [IN] Device handle
  1685. * @param pstColorCorrectParam [IN] Color Correct parameter structure
  1686. * @return Success, return MV_OK. Failure, return error code
  1687. * @remarks This API supports CCM or CLUT alone, as well as CCM and CLUT at the same time. The user can select by means of the enable switch in CCM and CLUT information.
  1688. ************************************************************************/
  1689. MVSDKEXPORT_API int __stdcall MV_CC_ColorCorrect(IN void* handle, IN OUT MV_CC_COLOR_CORRECT_PARAM* pstColorCorrectParam);
  1690. /********************************************************************//**
  1691. * @~chinese
  1692. * @brief 噪声估计
  1693. * @param handle [IN] 设备句柄
  1694. * @param pstNoiseEstimateParam [IN] 噪声估计参数
  1695. * @return 成功,返回MV_OK;错误,返回错误码
  1696. * @remarks 如果用户选择全图做噪声估计,nROINum可输入0,pstROIRect可置空。
  1697. * @~english
  1698. * @brief Noise Estimate
  1699. * @param handle [IN] Device handle
  1700. * @param pstNoiseEstimateParam [IN] Noise Estimate parameter structure
  1701. * @return Success, return MV_OK. Failure, return error code
  1702. * @remarks If the user selects the full image, nROINum can be typed with 0 and pstROIRect empty.
  1703. ************************************************************************/
  1704. MVSDKEXPORT_API int __stdcall MV_CC_NoiseEstimate(IN void* handle, IN OUT MV_CC_NOISE_ESTIMATE_PARAM* pstNoiseEstimateParam);
  1705. /********************************************************************//**
  1706. * @~chinese
  1707. * @brief 空域降噪
  1708. * @param handle [IN] 设备句柄
  1709. * @param pstSpatialDenoiseParam [IN] 空域降噪参数
  1710. * @return 成功,返回MV_OK;错误,返回错误码
  1711. * @~english
  1712. * @brief Spatial Denoise
  1713. * @param handle [IN] Device handle
  1714. * @param pstSpatialDenoiseParam [IN] Spatial Denoise parameter structure
  1715. * @return Success, return MV_OK. Failure, return error code
  1716. ************************************************************************/
  1717. MVSDKEXPORT_API int __stdcall MV_CC_SpatialDenoise(IN void* handle, IN OUT MV_CC_SPATIAL_DENOISE_PARAM* pstSpatialDenoiseParam);
  1718. /********************************************************************//**
  1719. * @~chinese
  1720. * @brief LSC标定
  1721. * @param handle [IN] 设备句柄
  1722. * @param pstLSCCalibParam [IN] 标定参数
  1723. * @return 成功,返回MV_OK;错误,返回错误码
  1724. * @~english
  1725. * @brief LSC Calib
  1726. * @param handle [IN] Device handle
  1727. * @param pstLSCCalibParam [IN] LSC Calib parameter structure
  1728. * @return Success, return MV_OK. Failure, return error code
  1729. ************************************************************************/
  1730. MVSDKEXPORT_API int __stdcall MV_CC_LSCCalib(IN void* handle, IN OUT MV_CC_LSC_CALIB_PARAM* pstLSCCalibParam);
  1731. /********************************************************************//**
  1732. * @~chinese
  1733. * @brief LSC校正
  1734. * @param handle [IN] 设备句柄
  1735. * @param pstLSCCorrectParam [IN] 校正参数
  1736. * @return 成功,返回MV_OK;错误,返回错误码
  1737. * @~english
  1738. * @brief LSC Correct
  1739. * @param handle [IN] Device handle
  1740. * @param pstLSCCorrectParam [IN] LSC Correct parameter structure
  1741. * @return Success, return MV_OK. Failure, return error code
  1742. ************************************************************************/
  1743. MVSDKEXPORT_API int __stdcall MV_CC_LSCCorrect(IN void* handle, IN OUT MV_CC_LSC_CORRECT_PARAM* pstLSCCorrectParam);
  1744. /********************************************************************//**
  1745. * @~chinese
  1746. * @brief 无损解码
  1747. * @param handle [IN] 设备句柄
  1748. * @param pstDecodeParam [IN][OUT] 无损解码参数结构体
  1749. * @return 成功,返回MV_OK;错误,返回错误码
  1750. * @remarks 将从相机中取到的无损压缩码流解码成裸数据,同时支持解析当前相机实时图像的水印信息(如果输入的无损码流不是当前相机或者不是实时取流的,则水印解析可能异常)
  1751. * @~english
  1752. * @brief High Bandwidth Decode
  1753. * @param handle [IN] Device handle
  1754. * @param pstDecodeParam [IN][OUT] High Bandwidth Decode parameter structure
  1755. * @return Success, return MV_OK. Failure, return error code
  1756. * @remarks Decode the lossless compressed data from the camera into raw data
  1757. ************************************************************************/
  1758. MVSDKEXPORT_API int __stdcall MV_CC_HB_Decode(IN void* handle, IN OUT MV_CC_HB_DECODE_PARAM* pstDecodeParam);
  1759. /********************************************************************//**
  1760. * @~chinese
  1761. * @brief 保存设备属性
  1762. * @param handle [IN] 设备句柄
  1763. * @param strFileName [IN] 属性文件名
  1764. * @return 成功,返回MV_OK;错误,返回错误码
  1765. * @~english
  1766. * @brief Save camera feature
  1767. * @param handle [IN] Device handle
  1768. * @param strFileName [IN] File name
  1769. * @return Success, return MV_OK. Failure, return error code
  1770. ************************************************************************/
  1771. MVSDKEXPORT_API int __stdcall MV_CC_FeatureSave(IN void* handle, IN const char* strFileName);
  1772. /********************************************************************//**
  1773. * @~chinese
  1774. * @brief 导入设备属性
  1775. * @param handle [IN] 设备句柄
  1776. * @param strFileName [IN] 属性文件名
  1777. * @return 成功,返回MV_OK;错误,返回错误码
  1778. * @~english
  1779. * @brief Load camera feature
  1780. * @param handle [IN] Device handle
  1781. * @param strFileName [IN] File name
  1782. * @return Success, return MV_OK. Failure, return error code
  1783. ************************************************************************/
  1784. MVSDKEXPORT_API int __stdcall MV_CC_FeatureLoad(IN void* handle, IN const char* strFileName);
  1785. /********************************************************************//**
  1786. * @~chinese
  1787. * @brief 从设备读取文件
  1788. * @param handle [IN] 设备句柄
  1789. * @param pstFileAccess [IN] 文件存取结构体
  1790. * @return 成功,返回MV_OK;错误,返回错误码
  1791. * @~english
  1792. * @brief Read the file from the camera
  1793. * @param handle [IN] Device handle
  1794. * @param pstFileAccess [IN] File access structure
  1795. * @return Success, return MV_OK. Failure, return error code
  1796. ************************************************************************/
  1797. MVSDKEXPORT_API int __stdcall MV_CC_FileAccessRead(IN void* handle, IN MV_CC_FILE_ACCESS * pstFileAccess);
  1798. /********************************************************************//**
  1799. * @~chinese
  1800. * @brief 将文件写入设备
  1801. * @param handle [IN] 设备句柄
  1802. * @param pstFileAccess [IN] 文件存取结构体
  1803. * @return 成功,返回MV_OK;错误,返回错误码
  1804. * @~english
  1805. * @brief Write the file to camera
  1806. * @param handle [IN] Device handle
  1807. * @param pstFileAccess [IN] File access structure
  1808. * @return Success, return MV_OK. Failure, return error code
  1809. ************************************************************************/
  1810. MVSDKEXPORT_API int __stdcall MV_CC_FileAccessWrite(IN void* handle, IN MV_CC_FILE_ACCESS * pstFileAccess);
  1811. /********************************************************************//**
  1812. * @~chinese
  1813. * @brief 获取文件存取的进度
  1814. * @param handle [IN] 设备句柄
  1815. * @param pstFileAccessProgress [IN] 进度内容
  1816. * @return 成功,返回MV_OK;错误,返回错误码 (当前文件存取的状态)
  1817. * @~english
  1818. * @brief Get File Access Progress
  1819. * @param handle [IN] Device handle
  1820. * @param pstFileAccessProgress [IN] File access Progress
  1821. * @return Success, return MV_OK. Failure, return error code
  1822. ************************************************************************/
  1823. MVSDKEXPORT_API int __stdcall MV_CC_GetFileAccessProgress(IN void* handle, OUT MV_CC_FILE_ACCESS_PROGRESS * pstFileAccessProgress);
  1824. /********************************************************************//**
  1825. * @~chinese
  1826. * @brief 开始录像
  1827. * @param handle [IN] 设备句柄
  1828. * @param pstRecordParam [IN] 录像参数结构体
  1829. * @return 成功,返回MV_OK;错误,返回错误码
  1830. * @~english
  1831. * @brief Start Record
  1832. * @param handle [IN] Device handle
  1833. * @param pstRecordParam [IN] Record param structure
  1834. * @return Success, return MV_OK. Failure, return error code
  1835. ************************************************************************/
  1836. MVSDKEXPORT_API int __stdcall MV_CC_StartRecord(IN void* handle, IN MV_CC_RECORD_PARAM* pstRecordParam);
  1837. /********************************************************************//**
  1838. * @~chinese
  1839. * @brief 输入录像数据
  1840. * @param handle [IN] 设备句柄
  1841. * @param pstInputFrameInfo [IN] 录像数据结构体
  1842. * @return 成功,返回MV_OK;错误,返回错误码
  1843. * @~english
  1844. * @brief Input RAW data to Record
  1845. * @param handle [IN] Device handle
  1846. * @param pstInputFrameInfo [IN] Record data structure
  1847. * @return Success, return MV_OK. Failure, return error code
  1848. ************************************************************************/
  1849. MVSDKEXPORT_API int __stdcall MV_CC_InputOneFrame(IN void* handle, IN MV_CC_INPUT_FRAME_INFO * pstInputFrameInfo);
  1850. /********************************************************************//**
  1851. * @~chinese
  1852. * @brief 停止录像
  1853. * @param handle [IN] 设备句柄
  1854. * @return 成功,返回MV_OK;错误,返回错误码
  1855. * @~english
  1856. * @brief Stop Record
  1857. * @param handle [IN] Device handle
  1858. * @return Success, return MV_OK. Failure, return error code
  1859. ************************************************************************/
  1860. MVSDKEXPORT_API int __stdcall MV_CC_StopRecord(IN void* handle);
  1861. /************************************************************************/
  1862. /* 不建议使用的接口 */
  1863. /* Interfaces not recommended */
  1864. /************************************************************************/
  1865. /************************************************************************
  1866. * @fn MV_CC_GetImageInfo
  1867. * @brief 获取图像基本信息
  1868. * @param handle [IN] 设备句柄
  1869. * @param pstInfo [IN][OUT] 返回给调用者有关相机图像基本信息结构体指针
  1870. * @return 成功,返回MV_OK,失败,返回错误码
  1871. * @fn MV_CC_GetImageInfo
  1872. * @brief Get basic information of image
  1873. * @param handle [IN] Device handle
  1874. * @param pstInfo [IN][OUT] Structure pointer of image basic information
  1875. * @return Success, return MV_OK. Failure, return error code
  1876. ************************************************************************/
  1877. MVSDKEXPORT_API int __stdcall MV_CC_GetImageInfo(IN void* handle, IN OUT MV_IMAGE_BASIC_INFO* pstInfo);
  1878. /************************************************************************
  1879. * @fn MV_CC_SetSDKLogPath()
  1880. * @brief 设置SDK日志路径(如果日志服务MvLogServer已启用,则该接口无效,默认日志服务为开启状态)
  1881. * @param pSDKLogPath [IN] SDK日志路径
  1882. * @return 成功,返回MV_OK;错误,返回错误码
  1883. * @fn MV_CC_SetSDKLogPath()
  1884. * @brief Set SDK log path
  1885. * @param pSDKLogPath [IN] SDK log path
  1886. * @return Access, return true. Not access, return false
  1887. ************************************************************************/
  1888. MVSDKEXPORT_API int __stdcall MV_CC_SetSDKLogPath(IN const char * pSDKLogPath);
  1889. /************************************************************************
  1890. * @fn MV_CC_GetTlProxy
  1891. * @brief 获取GenICam代理
  1892. * @param handle [IN] 句柄地址
  1893. * @return GenICam代理类指针 ,正常返回值非NULL;异常返回NULL
  1894. * @fn MV_CC_GetTlProxy
  1895. * @brief Get GenICam proxy
  1896. * @param handle [IN] Handle address
  1897. * @return GenICam proxy pointer, normal, return non-NULL; exception, return NULL
  1898. ************************************************************************/
  1899. MVSDKEXPORT_API void* __stdcall MV_CC_GetTlProxy(IN void* handle);
  1900. /***********************************************************************
  1901. * @fn MV_XML_GetRootNode
  1902. * @brief 获取根节点
  1903. * @param handle [IN] 句柄
  1904. * @param pstNode [OUT] 根节点信息结构体
  1905. * @return 成功,返回MV_OK;错误,返回错误码
  1906. * @fn MV_XML_GetRootNode
  1907. * @brief Get root node
  1908. * @param handle [IN] Handle
  1909. * @param pstNode [OUT] Root node information structure
  1910. * @return Success, return MV_OK. Failure, return error code
  1911. ***********************************************************************/
  1912. MVSDKEXPORT_API int __stdcall MV_XML_GetRootNode(IN void* handle, IN OUT MV_XML_NODE_FEATURE* pstNode);
  1913. /***********************************************************************
  1914. * @fn MV_XML_GetChildren
  1915. * @brief 从xml中获取指定节点的所有子节点,根节点为Root
  1916. * @param handle [IN] 句柄
  1917. * @param pstNode [IN] 根节点信息结构体
  1918. * @param pstNodesList [OUT] 节点列表结构体
  1919. * @return 成功,返回MV_OK;错误,返回错误码
  1920. * @fn MV_XML_GetChildren
  1921. * @brief Get all children node of specific node from xml, root node is Root
  1922. * @param handle [IN] Handle
  1923. * @param pstNode [IN] Root node information structure
  1924. * @param pstNodesList [OUT] Node information structure
  1925. * @return Success, return MV_OK. Failure, return error code
  1926. ***********************************************************************/
  1927. MVSDKEXPORT_API int __stdcall MV_XML_GetChildren(IN void* handle, IN MV_XML_NODE_FEATURE* pstNode, IN OUT MV_XML_NODES_LIST* pstNodesList);
  1928. /***********************************************************************
  1929. * @fn MV_XML_GetNodeFeature
  1930. * @brief 获得当前节点的属性
  1931. * @param handle [IN] 句柄
  1932. * @param pstNode [IN] 根节点信息结构体
  1933. * @param pstFeature [OUT] 当前节点属性结构体,
  1934. pstFeature 具体结构体内容参考 MV_XML_FEATURE_x
  1935. * @return 成功,返回MV_OK;错误,返回错误码
  1936. * @fn MV_XML_GetNodeFeature
  1937. * @brief Get current node feature
  1938. * @param handle [IN] Handle
  1939. * @param pstNode [IN] Root node information structure
  1940. * @param pstFeature [OUT] Current node feature structure
  1941. Details of pstFeature refer to MV_XML_FEATURE_x
  1942. * @return Success, return MV_OK. Failure, return error code
  1943. ***********************************************************************/
  1944. MVSDKEXPORT_API int __stdcall MV_XML_GetNodeFeature(IN void* handle, IN MV_XML_NODE_FEATURE* pstNode, IN OUT void* pstFeature);
  1945. /***********************************************************************
  1946. * @fn MV_XML_UpdateNodeFeature
  1947. * @brief 更新节点
  1948. * @param handle [IN] 句柄
  1949. * @param enType [IN] 节点类型
  1950. * @param pstFeature [OUT] 当前节点属性结构体
  1951. * @return 成功,返回MV_OK;错误,返回错误码
  1952. * @fn MV_XML_UpdateNodeFeature
  1953. * @brief Update node
  1954. * @param handle [IN] Handle
  1955. * @param enType [IN] Node type
  1956. * @param pstFeature [OUT] Current node feature structure
  1957. * @return Success, return MV_OK. Failure, return error code
  1958. ***********************************************************************/
  1959. MVSDKEXPORT_API int __stdcall MV_XML_UpdateNodeFeature(IN void* handle, IN enum MV_XML_InterfaceType enType, IN void* pstFeature);
  1960. // 有节点需要更新时的回调函数
  1961. // 当调用MV_XML_UpdateNodeFeature接口更新节点属性时,注册的回调函数cbUpdate会在pstNodesList中返回与之相关联的节点
  1962. /***********************************************************************
  1963. * @fn MV_XML_RegisterUpdateCallBack
  1964. * @brief 注册更新回调
  1965. * @param handle [IN] 句柄
  1966. * @param cbUpdate [IN] 回调函数指针
  1967. * @param pUser [IN] 用户自定义变量
  1968. * @return 成功,返回MV_OK;错误,返回错误码
  1969. * @fn MV_XML_RegisterUpdateCallBack
  1970. * @brief Register update callback
  1971. * @param handle [IN] Handle
  1972. * @param cbUpdate [IN] Callback function pointer
  1973. * @param pUser [IN] User defined variable
  1974. * @return Success, return MV_OK. Failure, return error code
  1975. ***********************************************************************/
  1976. MVSDKEXPORT_API int __stdcall MV_XML_RegisterUpdateCallBack(IN void* handle,
  1977. IN void(__stdcall* cbUpdate)(enum MV_XML_InterfaceType enType, void* pstFeature, MV_XML_NODES_LIST* pstNodesList, void* pUser),
  1978. IN void* pUser);
  1979. /************************************************************************/
  1980. /* 弃用的接口(存在更优化的接口可替换) */
  1981. /* Abandoned interface */
  1982. /************************************************************************/
  1983. /***********************************************************************
  1984. * @fn MV_CC_GetOneFrame
  1985. * @brief 获取一帧图像,此函数为查询式获取,每次调用查询内部缓存有
  1986. 无数据,有数据则范围数据,无数据返回错误码
  1987. (该接口已弃用,建议改用 MV_CC_GetOneFrameTimeOut接口)
  1988. * @param handle [IN] 句柄
  1989. * @param pData [OUT] 图像数据接收指针
  1990. * @param nDataSize [IN] 接收缓存大小
  1991. * @param pFrameInfo [OUT] 图像信息结构体
  1992. * @return 成功,返回MV_OK;错误,返回错误码
  1993. * @fn MV_CC_GetOneFrame
  1994. * @brief Get one frame data, this function is using query to get data,
  1995. query whether the internal cache has data, return data if there has, return error code if no data
  1996. (This interface is abandoned, it is recommended to use the MV_CC_GetOneFrameTimeOut)
  1997. * @param handle [IN] Handle
  1998. * @param pData [OUT] Recevied image data pointer
  1999. * @param nDataSize [IN] Recevied buffer size
  2000. * @param pFrameInfo [OUT] Image information structure
  2001. * @return Success, return MV_OK. Failure, return error code
  2002. ***********************************************************************/
  2003. MVSDKEXPORT_API int __stdcall MV_CC_GetOneFrame(IN void* handle, IN OUT unsigned char * pData , IN unsigned int nDataSize, IN OUT MV_FRAME_OUT_INFO* pFrameInfo);
  2004. /***********************************************************************
  2005. * @fn MV_CC_GetOneFrameEx
  2006. * @brief 获取一帧trunck数据,此函数为查询式获取,每次调用查询内部
  2007. 缓存有无数据,有数据则范围数据,无数据返回错误码
  2008. (该接口已弃用,建议改用 MV_CC_GetOneFrameTimeOut接口)
  2009. * @param handle [IN] 句柄
  2010. * @param pData [OUT] 图像数据接收指针
  2011. * @param nDataSize [IN] 接收缓存大小
  2012. * @param pFrameInfo [OUT] 图像信息结构体
  2013. * @return 成功,返回MV_OK;错误,返回错误码
  2014. * @fn MV_CC_GetOneFrameEx
  2015. * @brief Get one frame of trunck data, this function is using query to get data,
  2016. query whether the internal cache has data, return data if there has, return error code if no data
  2017. (This interface is abandoned, it is recommended to use the MV_CC_GetOneFrameTimeOut)
  2018. * @param handle [IN] Handle
  2019. * @param pData [OUT] Recevied image data pointer
  2020. * @param nDataSize [IN] Recevied buffer size
  2021. * @param pFrameInfo [OUT] Image information structure
  2022. * @return Success, return MV_OK. Failure, return error code
  2023. ***********************************************************************/
  2024. MVSDKEXPORT_API int __stdcall MV_CC_GetOneFrameEx(IN void* handle, IN OUT unsigned char * pData , IN unsigned int nDataSize, IN OUT MV_FRAME_OUT_INFO_EX* pFrameInfo);
  2025. /***********************************************************************
  2026. * @fn MV_CC_RegisterImageCallBack
  2027. * @brief 注册图像数据回调(该接口已弃用,建议改用 MV_CC_RegisterImageCallBackEx接口)
  2028. * @param handle [IN] 句柄
  2029. * @param cbOutput [IN] 回调函数指针
  2030. * @param pUser [IN] 用户自定义变量
  2031. * @return 成功,返回MV_OK;错误,返回错误码
  2032. * @fn MV_CC_RegisterImageCallBack
  2033. * @brief Register image data callback (This interface is abandoned, it is recommended to use the MV_CC_RegisterImageCallBackEx)
  2034. * @param handle [IN] Handle
  2035. * @param cbOutput [IN] Callback function pointer
  2036. * @param pUser [IN] User defined variable
  2037. * @return Success, return MV_OK. Failure, return error code
  2038. ***********************************************************************/
  2039. MVSDKEXPORT_API int __stdcall MV_CC_RegisterImageCallBack(void* handle,
  2040. void(__stdcall* cbOutput)(unsigned char * pData, MV_FRAME_OUT_INFO* pFrameInfo, void* pUser),
  2041. void* pUser);
  2042. /************************************************************************
  2043. * @fn MV_CC_SaveImage
  2044. * @brief 保存图片(该接口已弃用,建议改用 MV_CC_SaveImageEx2接口)
  2045. * @param pSaveParam [IN][OUT] 保存图片参数结构体
  2046. pData; // [IN] 输入数据缓存
  2047. nDataLen; // [IN] 输入数据大小
  2048. enPixelType; // [IN] 输入数据的像素格式
  2049. nWidth; // [IN] 图像宽
  2050. nHeight; // [IN] 图像高
  2051. pImageBuffer; // [OUT] 输出图片缓存
  2052. nImageLen; // [OUT] 输出图片大小
  2053. nBufferSize; // [IN] 提供的输出缓冲区大小
  2054. enImageType; // [IN] 输出图片格式
  2055. * @return 成功,返回MV_OK;错误,返回错误码
  2056. * @fn MV_CC_SaveImage
  2057. * @brief Save image (This interface is abandoned, it is recommended to use the MV_CC_SaveImageEx)
  2058. * @param pSaveParam [IN][OUT] Save image parameters structure
  2059. pData; // [IN] Input data buffer
  2060. nDataLen; // [IN] Input data size
  2061. enPixelType; // [IN] Input data pixel format
  2062. nWidth; // [IN] Width
  2063. nHeight; // [IN] Height
  2064. pImageBuffer; // [OUT] Output image buffer
  2065. nImageLen; // [OUT] Output image size
  2066. nBufferSize; // [IN] Provided output buffer size
  2067. enImageType; // [IN] Output image type
  2068. * @return Success, return MV_OK. Failure, return error code
  2069. ************************************************************************/
  2070. MVSDKEXPORT_API int __stdcall MV_CC_SaveImage(IN OUT MV_SAVE_IMAGE_PARAM* pSaveParam);
  2071. /************************************************************************
  2072. * @fn MV_CC_SaveImageEx
  2073. * @brief 保存图片,支持Bmp和Jpeg.编码质量在50-99之前 (该接口已弃用,建议改用 MV_CC_SaveImageEx2接口)
  2074. * @param pSaveParam [IN][OUT] 保存图片参数结构体
  2075. pData; // [IN] 输入数据缓存
  2076. nDataLen; // [IN] 输入数据大小
  2077. enPixelType; // [IN] 输入数据的像素格式
  2078. nWidth; // [IN] 图像宽
  2079. nHeight; // [IN] 图像高
  2080. pImageBuffer; // [OUT] 输出图片缓存
  2081. nImageLen; // [OUT] 输出图片大小
  2082. nBufferSize; // [IN] 提供的输出缓冲区大小
  2083. enImageType; // [IN] 输出图片格式
  2084. nJpgQuality; // [IN] 编码质量, (50-99]
  2085. nReserved[4];
  2086. * @return 成功,返回MV_OK;错误,返回错误码
  2087. * @fn MV_CC_SaveImageEx
  2088. * @brief Save image, support Bmp and Jpeg. Encoding quality, (50-99]
  2089. * @param pSaveParam [IN][OUT] Save image parameters structure
  2090. pData; // [IN] Input data buffer
  2091. nDataLen; // [IN] Input data size
  2092. enPixelType; // [IN] Pixel format of input data
  2093. nWidth; // [IN] Image width
  2094. nHeight; // [IN] Image height
  2095. pImageBuffer; // [OUT] Output image buffer
  2096. nImageLen; // [OUT] Output image size
  2097. nBufferSize; // [IN] Output buffer size provided
  2098. enImageType; // [IN] Output image format
  2099. nJpgQuality; // [IN] Encoding quality, (50-99]
  2100. nReserved[4];
  2101. * @return Success, return MV_OK. Failure, return error code
  2102. ************************************************************************/
  2103. MVSDKEXPORT_API int __stdcall MV_CC_SaveImageEx(IN OUT MV_SAVE_IMAGE_PARAM_EX* pSaveParam);
  2104. /********************************************************************//**
  2105. * @~chinese
  2106. * @brief Bayer噪声估计(该接口已弃用,建议改用 MV_CC_NoiseEstimate接口)
  2107. * @param handle [IN] 设备句柄
  2108. * @param pstNoiseEstimateParam [IN][OUT] Bayer噪声估计参数结构体
  2109. * @return 成功,返回MV_OK;错误,返回错误码
  2110. * @remarks 该接口只支持Bayer8/Bayer10/Bayer12格式,其它Bayer格式需先转成Bayer8/Bayer10/Bayer12格式。\n
  2111. 该接口只有在打开我司特定彩色相机后才可以正常使用,当相机被断开或者掉线后,继续使用该接口会报错。
  2112. * @~english
  2113. * @brief Noise estimate of Bayer format
  2114. * @param handle [IN] Device handle
  2115. * @param pstNoiseEstimateParam [IN][OUT] Noise estimate parameter structure
  2116. * @return Success, return MV_OK. Failure, return error code
  2117. * @remarks This API only support Bayer8/Bayer10/Bayer12 format, other Bayer format must Convert to Bayer8/Bayer10/Bayer12 format.\n
  2118. 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.
  2119. ************************************************************************/
  2120. MVSDKEXPORT_API int __stdcall MV_CC_BayerNoiseEstimate(IN void* handle, IN OUT MV_CC_BAYER_NOISE_ESTIMATE_PARAM* pstNoiseEstimateParam);
  2121. /********************************************************************//**
  2122. * @~chinese
  2123. * @brief Bayer空域降噪(该接口已弃用,建议改用 MV_CC_SpatialDenoise接口)
  2124. * @param handle [IN] 设备句柄
  2125. * @param pstSpatialDenoiseParam [IN][OUT] Bayer空域降噪参数结构体
  2126. * @return 成功,返回MV_OK;错误,返回错误码
  2127. * @remarks 该接口只支持Bayer8/Bayer10/Bayer12格式,其它Bayer格式需先转成Bayer8/Bayer10/Bayer12格式。\n
  2128. 该接口只有在打开我司特定彩色相机后才可以正常使用,当相机被断开或者掉线后,继续使用该接口会报错。
  2129. * @~english
  2130. * @brief Spatial Denoise of Bayer format
  2131. * @param handle [IN] Device handle
  2132. * @param pstSpatialDenoiseParam [IN][OUT] Spatial Denoise parameter structure
  2133. * @return Success, return MV_OK. Failure, return error code
  2134. * @remarks This API only support Bayer8/Bayer10/Bayer12 format, other Bayer format must Convert to Bayer8/Bayer10/Bayer12 format.\n
  2135. 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.
  2136. ************************************************************************/
  2137. MVSDKEXPORT_API int __stdcall MV_CC_BayerSpatialDenoise(IN void* handle, IN OUT MV_CC_BAYER_SPATIAL_DENOISE_PARAM* pstSpatialDenoiseParam);
  2138. /************************************************************************
  2139. * @fn MV_GIGE_ForceIp
  2140. * @brief 强制IP(该接口已弃用,建议改用 MV_GIGE_ForceIpEx接口)
  2141. * @param handle:设备句柄
  2142. * @param nIP [IN] 设置的IP
  2143. * @return 见返回错误码
  2144. * @fn MV_GIGE_ForceIp
  2145. * @brief Force IP (This interface is abandoned, it is recommended to use the MV_GIGE_ForceIpEx)
  2146. * @param handle Handle
  2147. * @param nIP [IN] IP to set
  2148. * @return Refer to error code
  2149. ************************************************************************/
  2150. MVSDKEXPORT_API int __stdcall MV_GIGE_ForceIp(IN void* handle, unsigned int nIP);
  2151. /************************************************************************
  2152. * @fn MV_CC_RegisterEventCallBack
  2153. * @brief 注册事件回调(该接口已弃用,建议改用 MV_CC_RegisterEventCallBackEx接口)
  2154. * @param handle:设备句柄
  2155. * @param cbEvent [IN] 事件回调函数指针
  2156. * @param pUser [IN] 用户自定义变量
  2157. * @return 见返回错误码
  2158. * @fn MV_CC_RegisterEventCallBack
  2159. * @brief Register event callback (this interface has been deprecated and is recommended to be converted to the MV_CC_RegisterEventCallBackEx interface)
  2160. * @param handle:设备句柄
  2161. * @param cbEvent [IN] event callback pointer
  2162. * @param pUser [IN] User defined value
  2163. * @return 见返回错误码
  2164. ************************************************************************/
  2165. MVSDKEXPORT_API int __stdcall MV_CC_RegisterEventCallBack(void* handle, void(__stdcall* cbEvent)(unsigned int nExternalEventId, void* pUser), void* pUser);
  2166. /***********************************************************************
  2167. * @fn MV_CC_Display
  2168. * @brief 显示图像,注册显示窗口,内部自动显示(与MV_CC_GetImageBuffer不能同时使用,建议改用MV_CC_DisplayOneFrame接口)
  2169. * @param handle [IN] 句柄
  2170. * @param hWnd [IN] 显示窗口句柄
  2171. * @return 成功,返回MV_OK;错误,返回错误码
  2172. * @fn MV_CC_Display
  2173. * @brief Display one frame image, register display window, automatic display internally
  2174. * @param handle [IN] Handle
  2175. * @param hWnd [IN] Display Window Handle
  2176. * @return Success, return MV_OK. Failure, return error code
  2177. ***********************************************************************/
  2178. MVSDKEXPORT_API int __stdcall MV_CC_Display(IN void* handle, void* hWnd);
  2179. /************************************************************************
  2180. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetIntValue(IN void* handle,
  2181. IN const char* strKey,
  2182. OUT MVCC_INTVALUE *pIntValue);
  2183. * @brief 获取Integer属性值(建议改用MV_CC_GetIntValueEx接口)
  2184. * @param void* handle [IN] 相机句柄
  2185. * @param char* strKey [IN] 属性键值,如获取宽度信息则为"Width"
  2186. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机属性结构体指针
  2187. * @return 成功,返回MV_OK,失败,返回错误码
  2188. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetIntValue(IN void* handle,
  2189. IN const char* strKey,
  2190. OUT MVCC_INTVALUE *pIntValue);
  2191. * @brief Get Integer value
  2192. * @param void* handle [IN] Handle
  2193. * @param char* strKey [IN] Key value, for example, using "Width" to get width
  2194. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of camera features
  2195. * @return Success, return MV_OK. Failure, return error code
  2196. ************************************************************************/
  2197. MVSDKEXPORT_API int __stdcall MV_CC_GetIntValue(IN void* handle,IN const char* strKey,OUT MVCC_INTVALUE *pIntValue);
  2198. /************************************************************************
  2199. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetIntValue(IN void* handle,
  2200. IN const char* strKey,
  2201. IN unsigned int nValue);
  2202. * @brief 设置Integer型属性值(建议改用MV_CC_SetIntValueEx接口)
  2203. * @param void* handle [IN] 相机句柄
  2204. * @param char* strKey [IN] 属性键值,如获取宽度信息则为"Width"
  2205. * const unsigned int nValue [IN] 想要设置的相机的属性值
  2206. * @return 成功,返回MV_OK,失败,返回错误码
  2207. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetIntValue(IN void* handle,
  2208. IN const char* strKey,
  2209. IN unsigned int nValue);
  2210. * @brief Set Integer value
  2211. * @param void* handle [IN] Handle
  2212. * @param char* strKey [IN] Key value, for example, using "Width" to set width
  2213. * const unsigned int nValue [IN] Feature value to set
  2214. * @return Success, return MV_OK. Failure, return error code
  2215. ************************************************************************/
  2216. MVSDKEXPORT_API int __stdcall MV_CC_SetIntValue(IN void* handle,IN const char* strKey,IN unsigned int nValue);
  2217. /************************************************************************/
  2218. /* 相机参数获取和设置,此模块的所有接口已废弃,建议使用万能接口代替 */
  2219. /* Get and set camara parameters, all interfaces of this module will be replaced by general interface*/
  2220. /************************************************************************/
  2221. /************************************************************************
  2222. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetWidth(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2223. * @brief 获取图像宽度
  2224. * @param void* handle [IN] 相机句柄
  2225. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机宽度的信息结构体指针
  2226. * 返回的pstValue结构体的意义
  2227. * unsigned int nCurValue; // 代表相机当前的宽度值
  2228. * unsigned int nMax; // 表示相机允许的最大可设置的宽度值
  2229. * unsigned int nMin; // 表示相机允许的最小可设置的宽度值
  2230. * unsigned int nInc; // 表示相机设置的宽度增量必须是nInc的倍数,否则无效
  2231. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2232. *
  2233. * 其他整型结构体参数的接口可参照此接口
  2234. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetWidth(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2235. * @brief Get image width
  2236. * @param void* handle [IN] Camera Handle
  2237. * MVCC_INTVALUE* pstValue [IN][OUT] Returns the information structure pointer about the camera's width for the caller
  2238. * The meaning of returns pstValue structure
  2239. * unsigned int nCurValue; // Represents the current width value of the camera
  2240. * unsigned int nMax; // Indicates the maximum settable width value allowed by the camera
  2241. * unsigned int nMin; // Indicates the minimum settable width value allowed by the camera
  2242. * unsigned int nInc; // Indicates that the width increment set by the camera must be a multiple of nInc, otherwise it is invalid
  2243. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2244. *
  2245. * Other Integer structure parameters interface can refer to this interface
  2246. ************************************************************************/
  2247. MVSDKEXPORT_API int __stdcall MV_CC_GetWidth(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2248. /************************************************************************
  2249. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetWidth(IN void* handle, IN const unsigned int nValue);
  2250. * @brief 设置图像宽度
  2251. * @param void* handle [IN] 相机句柄
  2252. * const unsigned int nValue [IN] 想要设置的相机宽度的值,注意此宽度值必须是MV_CC_GetWidth接口返回的pstValue中的nInc的倍数才能设置成功
  2253. * @return 成功,返回MV_OK,并且相机宽度将会更改为相应值,失败,返回错误码
  2254. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetWidth(IN void* handle, IN const unsigned int nValue);
  2255. * @brief Set image width
  2256. * @param void* handle [IN] Camera Handle
  2257. * const unsigned int nValue [IN] To set the value of the camera width, note that the width value must be a multiple of nInc in the pstValue returned by the MV_CC_GetWidth interface
  2258. * @return Success, return MV_OK, and the camera width will change to the corresponding value. Failure, return error code
  2259. ************************************************************************/
  2260. MVSDKEXPORT_API int __stdcall MV_CC_SetWidth(IN void* handle, IN const unsigned int nValue);
  2261. /************************************************************************
  2262. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHeight(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2263. * @brief 获取图像高度
  2264. * @param void* handle [IN] 相机句柄
  2265. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机高度的信息结构体指针
  2266. * @return 成功,返回MV_OK,并将高度信息返回到结构体中,失败,返回错误码
  2267. *
  2268. * 可参照接口MV_CC_GetWidth
  2269. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHeight(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2270. * @brief Get image height
  2271. * @param void* handle [IN] Camera handle
  2272. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera height to user
  2273. * @return Success, return MV_OK, and return height information to the structure. Failure, return error code
  2274. *
  2275. * Refer to MV_CC_GetWidth
  2276. ************************************************************************/
  2277. MVSDKEXPORT_API int __stdcall MV_CC_GetHeight(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2278. /************************************************************************
  2279. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHeight(IN void* handle, IN const unsigned int nValue);
  2280. * @brief 设置图像高度
  2281. * @param void* handle [IN] 相机句柄
  2282. * const unsigned int nValue [IN] 想要设置的相机宽度的值,注意此宽度值必须是MV_CC_GetWidth接口返回的pstValue中的nInc的倍数才能设置成功
  2283. * @return 成功,返回MV_OK,并且相机高度将会更改为相应值,失败,返回错误码
  2284. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHeight(IN void* handle, IN const unsigned int nValue);
  2285. * @brief Set image height
  2286. * @param void* handle [IN] Camera Handle
  2287. * const unsigned int nValue [IN] Camera height value to set, note that this value must be times of nInc of pstValue returned by MV_CC_GetWidth
  2288. * @return Success, return MV_OK, and the camera height will change to the corresponding value. Failure, return error code
  2289. ************************************************************************/
  2290. MVSDKEXPORT_API int __stdcall MV_CC_SetHeight(IN void* handle, IN const unsigned int nValue);
  2291. /************************************************************************
  2292. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetX(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2293. * @brief 获取图像X偏移
  2294. * @param void* handle [IN] 相机句柄
  2295. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机X偏移的信息结构体指针
  2296. * @return 成功,返回MV_OK,失败,返回错误码
  2297. *
  2298. * 可参照接口MV_CC_GetWidth
  2299. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetX(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2300. * @brief Get image X offset
  2301. * @param void* handle [IN] Camera Handle
  2302. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera X offset to user
  2303. * @return Success, return MV_OK. Failure, return error code
  2304. *
  2305. * Refer to MV_CC_GetWidth
  2306. ************************************************************************/
  2307. MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetX(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2308. /************************************************************************
  2309. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetX(IN void* handle, IN const unsigned int nValue);
  2310. * @brief 设置图像AOI偏移
  2311. * @param void* handle [IN] 相机句柄
  2312. * const unsigned int nValue [IN] 想要设置的相机AOI的值
  2313. * @return 成功,返回MV_OK,并且相机AOI偏移将会更改为相应值,失败,返回错误码
  2314. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetX(IN void* handle, IN const unsigned int nValue);
  2315. * @brief Set image X offset
  2316. * @param void* handle [IN] Camera Handle
  2317. * const unsigned int nValue [IN] Camera X offset value to set
  2318. * @return Success, return MV_OK, and the camera X offset will change to the corresponding value. Failure, return error code
  2319. ************************************************************************/
  2320. MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetX(IN void* handle, IN const unsigned int nValue);
  2321. /************************************************************************
  2322. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetY(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2323. * @brief 获取图像Y偏移
  2324. * @param void* handle [IN] 相机句柄
  2325. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机Y偏移的信息结构体指针
  2326. * @return 成功,返回MV_OK,失败,返回错误码
  2327. *
  2328. * 可参照接口MV_CC_GetWidth
  2329. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetY(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2330. * @brief Get image Y offset
  2331. * @param void* handle [IN] Camera Handle
  2332. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera Y offset to user
  2333. * @return Success, return MV_OK. Failure, return error code
  2334. *
  2335. * Refer to MV_CC_GetWidth
  2336. ************************************************************************/
  2337. MVSDKEXPORT_API int __stdcall MV_CC_GetAOIoffsetY(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2338. /************************************************************************
  2339. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetX(IN void* handle, IN const unsigned int nValue);
  2340. * @brief 设置图像AOI偏移
  2341. * @param void* handle [IN] 相机句柄
  2342. * const unsigned int nValue [IN] 想要设置的相机AOI的值
  2343. * @return 成功,返回MV_OK,并且相机AOI偏移将会更改为相应值,失败,返回错误码
  2344. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetY(IN void* handle, IN const unsigned int nValue);
  2345. * @brief Set image Y offset
  2346. * @param void* handle [IN] Camera Handle
  2347. * const unsigned int nValue [IN] Camera Y offset value to set
  2348. * @return Success, return MV_OK, and the camera Y offset will change to the corresponding value. Failure, return error code
  2349. ************************************************************************/
  2350. MVSDKEXPORT_API int __stdcall MV_CC_SetAOIoffsetY(IN void* handle, IN const unsigned int nValue);
  2351. /************************************************************************
  2352. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeLower(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2353. * @brief 获取曝光下限
  2354. * @param void* handle [IN] 相机句柄
  2355. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机曝光值下限结构体指针
  2356. * @return 成功,返回MV_OK,失败,返回错误码
  2357. *
  2358. * 可参照接口MV_CC_GetWidth
  2359. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeLower(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2360. * @brief Get exposure lower limit
  2361. * @param void* handle [IN] Camera Handle
  2362. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera exposure lower to user
  2363. * @return Success, return MV_OK. Failure, return error code
  2364. *
  2365. * Refer to MV_CC_GetWidth
  2366. ************************************************************************/
  2367. MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeLower(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2368. /************************************************************************
  2369. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeLower(IN void* handle, IN const unsigned int nValue);
  2370. * @brief 设置曝光值下限
  2371. * @param void* handle [IN] 相机句柄
  2372. * const unsigned int nValue [IN] 想要设置的曝光值下限
  2373. * @return 成功,返回MV_OK,并且相机曝光下限将会更改为相应值,失败,返回错误码
  2374. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeLower(IN void* handle, IN const unsigned int nValue);
  2375. * @brief Set exposure lower limit
  2376. * @param void* handle [IN] Camera Handle
  2377. * const unsigned int nValue [IN] Exposure lower to set
  2378. * @return Success, return MV_OK, and the camera exposure time lower limit value will change to the corresponding value. Failure, return error code
  2379. ************************************************************************/
  2380. MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeLower(IN void* handle, IN const unsigned int nValue);
  2381. /************************************************************************
  2382. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeUpper(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2383. * @brief 获取曝光上限
  2384. * @param void* handle [IN] 相机句柄
  2385. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机曝光值上限结构体指针
  2386. * @return 成功,返回MV_OK,失败,返回错误码
  2387. *
  2388. * 可参照接口MV_CC_GetWidth
  2389. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeUpper(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2390. * @brief Get exposure upper limit
  2391. * @param void* handle [IN] Camera Handle
  2392. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera exposure upper to user
  2393. * @return Success, return MV_OK. Failure, return error code
  2394. *
  2395. * Refer to MV_CC_GetWidth
  2396. ************************************************************************/
  2397. MVSDKEXPORT_API int __stdcall MV_CC_GetAutoExposureTimeUpper(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2398. /************************************************************************
  2399. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeUpper(IN void* handle, IN const unsigned int nValue);
  2400. * @brief 设置曝光值上限
  2401. * @param void* handle [IN] 相机句柄
  2402. * const unsigned int nValue [IN] 想要设置的曝光值上限
  2403. * @return 成功,返回MV_OK,并且相机曝光上限将会更改为相应值,失败,返回错误码
  2404. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeUpper(IN void* handle, IN const unsigned int nValue);
  2405. * @brief Set exposure upper limit
  2406. * @param void* handle [IN] Camera Handle
  2407. * const unsigned int nValue [IN] Exposure upper to set
  2408. * @return Success, return MV_OK, and the camera exposure time upper limit value will change to the corresponding value. Failure, return error code
  2409. ************************************************************************/
  2410. MVSDKEXPORT_API int __stdcall MV_CC_SetAutoExposureTimeUpper(IN void* handle, IN const unsigned int nValue);
  2411. /************************************************************************
  2412. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBrightness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2413. * @brief 获取亮度值
  2414. * @param void* handle [IN] 相机句柄
  2415. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机亮度结构体指针
  2416. * @return 成功,返回MV_OK,失败,返回错误码
  2417. *
  2418. * 可参照接口MV_CC_GetWidth
  2419. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBrightness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2420. * @brief Get brightness
  2421. * @param void* handle [IN] Camera Handle
  2422. * @param MVCC_INTVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera brightness to user
  2423. * @return Success, return MV_OK. Failure, return error code
  2424. *
  2425. * Refer to MV_CC_GetWidth
  2426. ************************************************************************/
  2427. MVSDKEXPORT_API int __stdcall MV_CC_GetBrightness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2428. /************************************************************************
  2429. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBrightness(IN void* handle, IN const unsigned int nValue);
  2430. * @brief 设置亮度值
  2431. * @param void* handle [IN] 相机句柄
  2432. * const unsigned int nValue [IN] 想要设置的亮度值
  2433. * @return 成功,返回MV_OK,并且相机亮度将会更改为相应值,失败,返回错误码
  2434. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBrightness(IN void* handle, IN const unsigned int nValue);
  2435. * @brief Set brightness
  2436. * @param void* handle [IN] Camera Handle
  2437. * const unsigned int nValue [IN] Brightness upper to set
  2438. * @return Success, return MV_OK, and the camera brightness value will change to the corresponding value. Failure, return error code
  2439. ************************************************************************/
  2440. MVSDKEXPORT_API int __stdcall MV_CC_SetBrightness(IN void* handle, IN const unsigned int nValue);
  2441. /************************************************************************
  2442. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetFrameRate(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2443. * @brief 获取帧率
  2444. * @param void* handle [IN] 相机句柄
  2445. * MVCC_FLOATVALUE* pstValue [IN][OUT] 返回给调用者有关相机帧率的信息结构体指针
  2446. * 返回的pstValue结构体的意义
  2447. * float fCurValue; // 表示相机当前的帧率
  2448. * float fMax; // 表示相机允许设置的最大帧率
  2449. * float fMin; // 表示相机允许设置的最小帧率
  2450. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2451. *
  2452. * 其他浮点型结构体参数的接口可参照此接口
  2453. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetFrameRate(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2454. * @brief Get Frame Rate
  2455. * @param void* handle [IN] Camera Handle
  2456. * MVCC_FLOATVALUE* pstValue [IN][OUT] Return pointer of information structure related to camera frame rate to user
  2457. * The meaning of returns pstValue structure
  2458. * float fCurValue; // Indicates the current frame rate of the camera
  2459. * float fMax; // Indicates the maximum frame rate allowed by the camera
  2460. * float fMin; // Indicates the minimum frame rate allowed by the camera
  2461. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2462. *
  2463. * Other interface of Float structure parameters can refer to this interface
  2464. ************************************************************************/
  2465. MVSDKEXPORT_API int __stdcall MV_CC_GetFrameRate(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2466. /************************************************************************
  2467. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetFrameRate(IN void* handle, IN const float fValue);
  2468. * @brief 设置帧率
  2469. * @param void* handle [IN] 相机句柄
  2470. * const float fValue [IN] 想要设置的相机帧率
  2471. * @return 成功,返回MV_OK,并且相机帧率将会更改为相应值,失败,返回错误码
  2472. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetFrameRate(IN void* handle, IN const float fValue);
  2473. * @brief Set frame rate
  2474. * @param void* handle [IN] Camera Handle
  2475. * const float fValue [IN] Camera frame rate to set
  2476. * @return Success, return MV_OK, and camera frame rate will be changed to the corresponding value. Failure, return error code
  2477. ************************************************************************/
  2478. MVSDKEXPORT_API int __stdcall MV_CC_SetFrameRate(IN void* handle, IN const float fValue);
  2479. /************************************************************************
  2480. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGain(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2481. * @brief 获取增益
  2482. * @param void* handle [IN] 相机句柄
  2483. * MVCC_FLOATVALUE* pstValue [IN][OUT] 返回给调用者有关相机增益的信息结构体指针
  2484. * 返回的pstValue结构体的意义
  2485. * float fCurValue; // 表示相机当前的帧率
  2486. * float fMax; // 表示相机允许设置的最大帧率
  2487. * float fMin; // 表示相机允许设置的最小帧率
  2488. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2489. *
  2490. * 其他浮点型结构体参数的接口可参照此接口
  2491. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGain(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2492. * @brief Get Gain
  2493. * @param void* handle [IN] Camera Handle
  2494. * MVCC_FLOATVALUE* pstValue [IN][OUT] Return pointer of information structure related to gain to user
  2495. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2496. * float fCurValue; // Camera current gain
  2497. * float fMax; // The maximum gain camera allowed
  2498. * float fMin; // The minimum gain camera allowed
  2499. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2500. *
  2501. * Other interface of Float structure parameters can refer to this interface
  2502. ************************************************************************/
  2503. MVSDKEXPORT_API int __stdcall MV_CC_GetGain(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2504. /************************************************************************
  2505. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGain(IN void* handle, IN const float fValue);
  2506. * @brief 设置帧率
  2507. * @param void* handle [IN] 相机句柄
  2508. * const float fValue [IN] 想要设置的相机帧率
  2509. * @return 成功,返回MV_OK,并且相机帧率将会更改为相应值,失败,返回错误码
  2510. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGain(IN void* handle, IN const float fValue);
  2511. * @brief Set Gain
  2512. * @param void* handle [IN] Camera Handle
  2513. * const float fValue [IN] Gain value to set
  2514. * @return Success, return MV_OK, and the camera gain value will change to the corresponding value. Failure, return error code
  2515. ************************************************************************/
  2516. MVSDKEXPORT_API int __stdcall MV_CC_SetGain(IN void* handle, IN const float fValue);
  2517. /************************************************************************
  2518. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetExposureTime(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2519. * @brief 获取曝光时间
  2520. * @param void* handle [IN] 相机句柄
  2521. * MVCC_FLOATVALUE* pstValue [IN][OUT] 返回给调用者有关相机曝光时间的信息结构体指针
  2522. * 返回的pstValue结构体的意义
  2523. * float fCurValue; // 表示相机当前的帧率
  2524. * float fMax; // 表示相机允许设置的最大帧率
  2525. * float fMin; // 表示相机允许设置的最小帧率
  2526. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2527. *
  2528. * 其他浮点型结构体参数的接口可参照此接口
  2529. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetExposureTime(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2530. * @brief Get exposure time
  2531. * @param void* handle [IN] Camera Handle
  2532. * MVCC_FLOATVALUE* pstValue [IN][OUT] Return pointer of information structure related to exposure time to user
  2533. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2534. * float fCurValue; // Camera current exposure time
  2535. * float fMax; // The maximum exposure time camera allowed
  2536. * float fMin; // The minimum exposure time camera allowed
  2537. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2538. *
  2539. * Other interface of Float structure parameters can refer to this interface
  2540. ************************************************************************/
  2541. MVSDKEXPORT_API int __stdcall MV_CC_GetExposureTime(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2542. /************************************************************************
  2543. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetExposureTime(IN void* handle, IN const float fValue);
  2544. * @brief 设置曝光时间
  2545. * @param void* handle [IN] 相机句柄
  2546. * const float fValue [IN] 想要设置的相机帧率
  2547. * @return 成功,返回MV_OK,并且相机帧率将会更改为相应值,失败,返回错误码
  2548. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetExposureTime(IN void* handle, IN const float fValue);
  2549. * @brief Set exposure time
  2550. * @param void* handle [IN] Camera Handle
  2551. * const float fValue [IN] Exposure time to set
  2552. * @return Success, return MV_OK, and the camera exposure time value will change to the corresponding value. Failure, return error code
  2553. ************************************************************************/
  2554. MVSDKEXPORT_API int __stdcall MV_CC_SetExposureTime(IN void* handle, IN const float fValue);
  2555. /************************************************************************
  2556. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetPixelFormat(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2557. * @brief 获取像素格式
  2558. * @param void* handle [IN] 相机句柄
  2559. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关像素格式的信息结构体指针
  2560. * 返回的pstValue结构体的意义
  2561. * unsigned int nCurValue; // 相机当前的像素格式,是枚举类型,比如说PixelType_Gvsp_Mono8, 这里获得的是其整型值,具体数值参照PixelType.h的MvGvspPixelType枚举类型
  2562. * unsigned int nSupportedNum; // 相机支持的像素格式的个数
  2563. * unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]; // 相机所有支持的像素格式对应的整型值列表,后面要设置像素格式时,参数必须是这个数组中的一种,否则无效
  2564. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2565. *
  2566. 其他枚举类型参数接口可参照此接口,有关相应参数的枚举类型对应的整型值请查找PixelType.h 和 CameraParams.h中相应的定义
  2567. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetPixelFormat(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2568. * @brief Get Pixel Format
  2569. * @param void* handle [IN] Camera Handle
  2570. * MVCC_ENUMVALUE* pstValue [IN][OUT] Returns the information structure pointer about pixel format for the caller
  2571. * The meaning of returns pstValue structure
  2572. * unsigned int nCurValue; // The current pixel format of the camera, is the enumeration type, such as PixelType_Gvsp_Mono8, here is the integer value, the specific value please refer to MvGvspPixelType enumeration type in PixelType.h
  2573. * unsigned int nSupportedNum; // Number of pixel formats supported by the camera
  2574. * unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]; // The integer values list correspond to all supported pixel formats of the camera, followed by when set the pixel format, the parameter must be one of this list, otherwise invalid
  2575. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2576. *
  2577. Other interface of Enumeration structure parameters can refer to this interface, look for the corresponding definition in PixelType.h and CameraParams.h for the integer values of the enum type parameter
  2578. ************************************************************************/
  2579. MVSDKEXPORT_API int __stdcall MV_CC_GetPixelFormat(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2580. /************************************************************************
  2581. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetPixelFormat(IN void* handle, IN const unsigned int nValue);
  2582. * @brief 设置像素格式
  2583. * @param void* handle [IN] 相机句柄
  2584. * const unsigned int nValue [IN] 要设置的像素格式对应的整型值,调用此接口时可以直接填写枚举值,如MV_CC_SetPixelFormat(m_handle, PixelType_Gvsp_RGB8_Packed);
  2585. * @return 成功,返回MV_OK,并且相机像素格式将会更改为相应值,失败,返回错误码
  2586. *
  2587. * 要设置的枚举类型必须是Get接口返回的nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]中的一种,否则会失败
  2588. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetPixelFormat(IN void* handle, IN const unsigned int nValue);
  2589. * @brief Set Pixel Format
  2590. * @param void* handle [IN] Camera Handle
  2591. * const unsigned int nValue [IN] The corresponding integer value for pixel format to be set, when calling this interface can be directly filled in enumeration values, such as MV_CC_SetPixelFormat(m_handle, PixelType_Gvsp_RGB8_Packed);
  2592. * @return Success, return MV_OK, and the camera pixel format will change to the corresponding value. Failure, return error code
  2593. *
  2594. * Other interface of Enumeration structure parameters can refer to this interface, the enumeration type to be set must be one of the nSupportValue [MV_MAX_XML_SYMBOLIC_NUM] returned by the Get interface, otherwise it will fail
  2595. ************************************************************************/
  2596. MVSDKEXPORT_API int __stdcall MV_CC_SetPixelFormat(IN void* handle, IN const unsigned int nValue);
  2597. /************************************************************************
  2598. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2599. * @brief 获取采集模式
  2600. * @param void* handle [IN] 相机句柄
  2601. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关采集模式的信息结构体指针
  2602. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2603. *
  2604. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_ACQUISITION_MODE 定义
  2605. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2606. * @brief Get acquisition mode
  2607. * @param void* handle [IN] Handle
  2608. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of acquisition mode
  2609. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2610. *
  2611. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_ACQUISITION_MODE in CameraParam.h
  2612. ************************************************************************/
  2613. MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2614. /************************************************************************
  2615. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionMode(IN void* handle, IN const unsigned int nValue);
  2616. * @brief 设置像素格式
  2617. * @param void* handle [IN] 相机句柄
  2618. * const unsigned int nValue [IN] 要设置的采集模式对应的整型值
  2619. * @return 成功,返回MV_OK,并且相机采集模式将会更改为相应值,失败,返回错误码
  2620. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionMode(IN void* handle, IN const unsigned int nValue);
  2621. * @brief Set acquisition mode
  2622. * @param void* handle [IN] Handle
  2623. * const unsigned int nValue [IN] Integer value to set corresponding to acquisition mode
  2624. * @return Success, return MV_OK, and the camera acquisition mode will change to the corresponding value. Failure, return error code
  2625. ************************************************************************/
  2626. MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionMode(IN void* handle, IN const unsigned int nValue);
  2627. /************************************************************************
  2628. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGainMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2629. * @brief 获取增益模式
  2630. * @param void* handle [IN] 相机句柄
  2631. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关增益模式的信息结构体指针
  2632. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2633. *
  2634. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_GAIN_MODE 定义
  2635. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGainMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2636. * @brief Get gain mode
  2637. * @param void* handle [IN] Handle
  2638. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of gain mode
  2639. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2640. *
  2641. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_GAIN_MODE in CameraParam.h
  2642. ************************************************************************/
  2643. MVSDKEXPORT_API int __stdcall MV_CC_GetGainMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2644. /************************************************************************
  2645. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGainMode(IN void* handle, IN const unsigned int nValue);
  2646. * @brief 设置增益模式
  2647. * @param void* handle [IN] 相机句柄
  2648. * const unsigned int nValue [IN] 要设置的增益模式对应的整型值
  2649. * @return 成功,返回MV_OK,并且相机增益模式将会更改为相应值,失败,返回错误码
  2650. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGainMode(IN void* handle, IN const unsigned int nValue);
  2651. * @brief Set gain mode
  2652. * @param void* handle [IN] Handle
  2653. * const unsigned int nValue [IN] Integer value to set corresponding to gain mode
  2654. * @return Success, return MV_OK, and the camera gain mode will change to the corresponding value. Failure, return error code
  2655. ************************************************************************/
  2656. MVSDKEXPORT_API int __stdcall MV_CC_SetGainMode(IN void* handle, IN const unsigned int nValue);
  2657. /************************************************************************
  2658. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetExposureAutoMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2659. * @brief 获取自动曝光模式
  2660. * @param void* handle [IN] 相机句柄
  2661. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关自动曝光模式的信息结构体指针
  2662. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2663. *
  2664. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_EXPOSURE_AUTO_MODE 定义
  2665. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetExposureAutoMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2666. * @brief Get auto exposure mode
  2667. * @param void* handle [IN] Handle
  2668. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of auto exposure mode
  2669. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2670. *
  2671. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_EXPOSURE_AUTO_MODE in CameraParam.h
  2672. ************************************************************************/
  2673. MVSDKEXPORT_API int __stdcall MV_CC_GetExposureAutoMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2674. /************************************************************************
  2675. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetExposureAutoMode(IN void* handle, IN const unsigned int nValue);
  2676. * @brief 设置自动曝光模式
  2677. * @param void* handle [IN] 相机句柄
  2678. * const unsigned int nValue [IN] 要设置的自动曝光模式对应的整型值
  2679. * @return 成功,返回MV_OK,并且相机自动曝光模式将会更改为相应值,失败,返回错误码
  2680. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetExposureAutoMode(IN void* handle, IN const unsigned int nValue);
  2681. * @brief Set auto exposure mode
  2682. * @param void* handle [IN] Handle
  2683. * const unsigned int nValue [IN] Integer value to set corresponding to auto exposure mode
  2684. * @return Success, return MV_OK, and the camera auto exposure mode will change to the corresponding value. Failure, return error code
  2685. ************************************************************************/
  2686. MVSDKEXPORT_API int __stdcall MV_CC_SetExposureAutoMode(IN void* handle, IN const unsigned int nValue);
  2687. /************************************************************************
  2688. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2689. * @brief 获取触发模式
  2690. * @param void* handle [IN] 相机句柄
  2691. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关触发模式的信息结构体指针
  2692. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2693. *
  2694. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_TRIGGER_MODE 定义
  2695. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2696. * @brief Get trigger mode
  2697. * @param void* handle [IN] Handle
  2698. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of trigger mode
  2699. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2700. *
  2701. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_TRIGGER_MODE in CameraParam.h
  2702. ************************************************************************/
  2703. MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerMode(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2704. /************************************************************************
  2705. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerMode(IN void* handle, IN const unsigned int nValue);
  2706. * @brief 设置触发模式
  2707. * @param void* handle [IN] 相机句柄
  2708. * const unsigned int nValue [IN] 要设置的触发模式对应的整型值
  2709. * @return 成功,返回MV_OK,并且相机触发模式将会更改为相应值,失败,返回错误码
  2710. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerMode(IN void* handle, IN const unsigned int nValue);
  2711. * @brief Set trigger mode
  2712. * @param void* handle [IN] Handle
  2713. * const unsigned int nValue [IN] Integer value to set corresponding to trigger mode
  2714. * @return Success, return MV_OK, and the camera trigger mode will change to the corresponding value. Failure, return error code
  2715. ************************************************************************/
  2716. MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerMode(IN void* handle, IN const unsigned int nValue);
  2717. /************************************************************************
  2718. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerDelay(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2719. * @brief 获取触发延时
  2720. * @param void* handle [IN] 相机句柄
  2721. * MVCC_FLOATVALUE* pstValue [IN][OUT] 返回给调用者有关相机触发延时的信息结构体指针
  2722. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2723. *
  2724. * 可参照接口MV_CC_GetFrameRate
  2725. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerDelay(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2726. * @brief Get tigger delay
  2727. * @param void* handle [IN] Handle
  2728. * MVCC_FLOATVALUE* pstValue [IN][OUT] Structure pointer of trigger delay
  2729. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2730. *
  2731. * Refer to MV_CC_GetFrameRate
  2732. ************************************************************************/
  2733. MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerDelay(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2734. /************************************************************************
  2735. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerDelay(IN void* handle, IN const float fValue);
  2736. * @brief 设置触发延时
  2737. * @param void* handle [IN] 相机句柄
  2738. * const float fValue [IN] 想要设置的相机触发延时
  2739. * @return 成功,返回MV_OK,并且相机触发延时将会更改为相应值,失败,返回错误码
  2740. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerDelay(IN void* handle, IN const float fValue);
  2741. * @brief Set tigger delay
  2742. * @param void* handle [IN] Handle
  2743. * const float fValue [IN] Trigger delay to set
  2744. * @return Success, return MV_OK, and the camera trigger delay will change to the corresponding value. Failure, return error code
  2745. ************************************************************************/
  2746. MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerDelay(IN void* handle, IN const float fValue);
  2747. /************************************************************************
  2748. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerSource(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2749. * @brief 获取触发源
  2750. * @param void* handle [IN] 相机句柄
  2751. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关触发源的信息结构体指针
  2752. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2753. *
  2754. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_TRIGGER_SOURCE 定义
  2755. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerSource(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2756. * @brief Get trigger source
  2757. * @param void* handle [IN] Handle
  2758. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of trigger source
  2759. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2760. *
  2761. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_TRIGGER_SOURCE in CameraParam.h
  2762. ************************************************************************/
  2763. MVSDKEXPORT_API int __stdcall MV_CC_GetTriggerSource(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2764. /************************************************************************
  2765. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerSource(IN void* handle, IN const unsigned int nValue);
  2766. * @brief 设置触发源
  2767. * @param void* handle [IN] 相机句柄
  2768. * const unsigned int nValue [IN] 要设置的触发源对应的整型值
  2769. * @return 成功,返回MV_OK,并且相机触发源将会更改为相应值,失败,返回错误码
  2770. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerSource(IN void* handle, IN const unsigned int nValue);
  2771. * @brief Set trigger source
  2772. * @param void* handle [IN] Handle
  2773. * const unsigned int nValue [IN] Integer value to set corresponding to trigger source
  2774. * @return Success, return MV_OK, and the camera trigger source will change to the corresponding value. Failure, return error code
  2775. ************************************************************************/
  2776. MVSDKEXPORT_API int __stdcall MV_CC_SetTriggerSource(IN void* handle, IN const unsigned int nValue);
  2777. /************************************************************************
  2778. * @fn MVSDKEXPORT_API int __stdcall MV_CC_TriggerSoftwareExecute(IN void* handle);
  2779. * @brief 软触发一次(接口仅在已选择的触发源为软件触发时有效)
  2780. * @param void* handle [IN] 相机句柄
  2781. * @return 成功,返回MV_OK, 失败,返回错误码
  2782. * @fn MVSDKEXPORT_API int __stdcall MV_CC_TriggerSoftwareExecute(IN void* handle);
  2783. * @brief Execute software trigger once (this interface only valid when the trigger source is set to software)
  2784. * @param void* handle [IN] Handle
  2785. * @return Success, return MV_OK. Failure, return error code
  2786. ************************************************************************/
  2787. MVSDKEXPORT_API int __stdcall MV_CC_TriggerSoftwareExecute(IN void* handle);
  2788. /************************************************************************
  2789. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGammaSelector(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2790. * @brief 获取Gamma类型
  2791. * @param void* handle [IN] 相机句柄
  2792. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关Gamma类型的信息结构体指针
  2793. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2794. *
  2795. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_GAMMA_SELECTOR 定义
  2796. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGammaSelector(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2797. * @brief Get Gamma mode
  2798. * @param void* handle [IN] Handle
  2799. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of gamma mode
  2800. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2801. *
  2802. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_GAMMA_SELECTOR in CameraParam.h
  2803. ************************************************************************/
  2804. MVSDKEXPORT_API int __stdcall MV_CC_GetGammaSelector(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2805. /************************************************************************
  2806. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGammaSelector(IN void* handle, IN const unsigned int nValue);
  2807. * @brief 设置Gamma类型
  2808. * @param void* handle [IN] 相机句柄
  2809. * const unsigned int nValue [IN] 要设置的Gamma类型对应的整型值
  2810. * @return 成功,返回MV_OK,并且相机Gamma类型将会更改为相应值,失败,返回错误码
  2811. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGammaSelector(IN void* handle, IN const unsigned int nValue);
  2812. * @brief Set Gamma mode
  2813. * @param void* handle [IN] Handle
  2814. * const unsigned int nValue [IN] Integer value to set corresponding to gamma mode
  2815. * @return Success, return MV_OK, and the camera gamma mode will change to the corresponding value. Failure, return error code
  2816. ************************************************************************/
  2817. MVSDKEXPORT_API int __stdcall MV_CC_SetGammaSelector(IN void* handle, IN const unsigned int nValue);
  2818. /************************************************************************
  2819. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGamma(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2820. * @brief 获取Gamma值
  2821. * @param void* handle [IN] 相机句柄
  2822. * MVCC_FLOATVALUE* pstValue [IN][OUT] 返回给调用者有关相机Gamma值的信息结构体指针
  2823. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2824. *
  2825. * 可参照接口MV_CC_GetFrameRate
  2826. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetGamma(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2827. * @brief Get Gamma value
  2828. * @param void* handle [IN] Handle
  2829. * MVCC_FLOATVALUE* pstValue [IN][OUT] Structure pointer of gamma value
  2830. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2831. *
  2832. * Refer to MV_CC_GetFrameRate
  2833. ************************************************************************/
  2834. MVSDKEXPORT_API int __stdcall MV_CC_GetGamma(IN void* handle, IN OUT MVCC_FLOATVALUE* pstValue);
  2835. /************************************************************************
  2836. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGamma(IN void* handle, IN const float fValue);
  2837. * @brief 设置Gamma值
  2838. * @param void* handle [IN] 相机句柄
  2839. * const float fValue [IN] 想要设置的相机Gamma值
  2840. * @return 成功,返回MV_OK,并且相机Gamma值将会更改为相应值,失败,返回错误码
  2841. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetGamma(IN void* handle, IN const float fValue);
  2842. * @brief Set Gamma value
  2843. * @param void* handle [IN] Handle
  2844. * const float fValue [IN] Gamma value to set
  2845. * @return Success, return MV_OK, and the camera gamma value will change to the corresponding value. Failure, return error code
  2846. ************************************************************************/
  2847. MVSDKEXPORT_API int __stdcall MV_CC_SetGamma(IN void* handle, IN const float fValue);
  2848. /************************************************************************
  2849. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetSharpness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2850. * @brief 获取锐度
  2851. * @param void* handle [IN] 相机句柄
  2852. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机锐度结构体指针
  2853. * @return 成功,返回MV_OK,失败,返回错误码
  2854. *
  2855. * 可参照接口MV_CC_GetWidth
  2856. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetSharpness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2857. * @brief Get sharpness
  2858. * @param void* handle [IN] Handle
  2859. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of sharpness
  2860. * @return Success, return MV_OK. Failure, return error code
  2861. *
  2862. * Refer to MV_CC_GetWidth
  2863. ************************************************************************/
  2864. MVSDKEXPORT_API int __stdcall MV_CC_GetSharpness(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2865. /************************************************************************
  2866. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetSharpness(IN void* handle, IN const unsigned int nValue);
  2867. * @brief 设置锐度
  2868. * @param void* handle [IN] 相机句柄
  2869. * const unsigned int nValue [IN] 想要设置的锐度
  2870. * @return 成功,返回MV_OK,并且相机锐度将会更改为相应值,失败,返回错误码
  2871. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetSharpness(IN void* handle, IN const unsigned int nValue);
  2872. * @brief Set sharpness
  2873. * @param void* handle [IN] Handle
  2874. * const unsigned int nValue [IN] Sharpness to set
  2875. * @return Success, return MV_OK, and the camera sharpness will change to the corresponding value. Failure, return error code
  2876. ************************************************************************/
  2877. MVSDKEXPORT_API int __stdcall MV_CC_SetSharpness(IN void* handle, IN const unsigned int nValue);
  2878. /************************************************************************
  2879. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2880. * @brief 获取灰度
  2881. * @param void* handle [IN] 相机句柄
  2882. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机灰度结构体指针
  2883. * @return 成功,返回MV_OK,失败,返回错误码
  2884. *
  2885. * 可参照接口MV_CC_GetWidth
  2886. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2887. * @brief Get Hue
  2888. * @param void* handle [IN] Handle
  2889. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of Hue
  2890. * @return Success, return MV_OK. Failure, return error code
  2891. *
  2892. * Refer to MV_CC_GetWidth
  2893. ************************************************************************/
  2894. MVSDKEXPORT_API int __stdcall MV_CC_GetHue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2895. /************************************************************************
  2896. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHue(IN void* handle, IN const unsigned int nValue);
  2897. * @brief 设置灰度
  2898. * @param void* handle [IN] 相机句柄
  2899. * const unsigned int nValue [IN] 想要设置的灰度
  2900. * @return 成功,返回MV_OK,并且相机灰度将会更改为相应值,失败,返回错误码
  2901. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHue(IN void* handle, IN const unsigned int nValue);
  2902. * @brief Set Hue
  2903. * @param void* handle [IN] Handle
  2904. * const unsigned int nValue [IN] Hue to set
  2905. * @return Success, return MV_OK, and the camera Hue will change to the corresponding value. Failure, return error code
  2906. ************************************************************************/
  2907. MVSDKEXPORT_API int __stdcall MV_CC_SetHue(IN void* handle, IN const unsigned int nValue);
  2908. /************************************************************************
  2909. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetSaturation(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2910. * @brief 获取饱和度
  2911. * @param void* handle [IN] 相机句柄
  2912. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机饱和度结构体指针
  2913. * @return 成功,返回MV_OK,失败,返回错误码
  2914. *
  2915. * 可参照接口MV_CC_GetWidth
  2916. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetSaturation(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2917. * @brief Get Saturation
  2918. * @param void* handle [IN] Handle
  2919. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of Saturation
  2920. * @return Success, return MV_OK. Failure, return error code
  2921. *
  2922. * Refer to MV_CC_GetWidth
  2923. ************************************************************************/
  2924. MVSDKEXPORT_API int __stdcall MV_CC_GetSaturation(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2925. /************************************************************************
  2926. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetSaturation(IN void* handle, IN const unsigned int nValue);
  2927. * @brief 设置饱和度
  2928. * @param void* handle [IN] 相机句柄
  2929. * const unsigned int nValue [IN] 想要设置的饱和度
  2930. * @return 成功,返回MV_OK,并且相机饱和度将会更改为相应值,失败,返回错误码
  2931. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetSaturation(IN void* handle, IN const unsigned int nValue);
  2932. * @brief Set Saturation
  2933. * @param void* handle [IN] Handle
  2934. * const unsigned int nValue [IN] Saturation to set
  2935. * @return Success, return MV_OK, and the camera Saturation will change to the corresponding value. Failure, return error code
  2936. ************************************************************************/
  2937. MVSDKEXPORT_API int __stdcall MV_CC_SetSaturation(IN void* handle, IN const unsigned int nValue);
  2938. /************************************************************************
  2939. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceWhiteAuto(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2940. * @brief 获取自动白平衡
  2941. * @param void* handle [IN] 相机句柄
  2942. * MVCC_ENUMVALUE* pstValue [IN][OUT] 返回给调用者的有关自动白平衡的信息结构体指针
  2943. * @return 成功,返回MV_OK,并获得相应参数信息的结构体, 失败, 返回错误码
  2944. *
  2945. 可参照接口MV_CC_GetPixelFormat,参考 CameraParam.h 中的 MV_CAM_BALANCEWHITE_AUTO 定义
  2946. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceWhiteAuto(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2947. * @brief Get Auto white balance
  2948. * @param void* handle [IN] Handle
  2949. * MVCC_ENUMVALUE* pstValue [IN][OUT] Structure pointer of auto white balance
  2950. * @return Success, return MV_OK, and get the structure of the corresponding parameters. Failure, return error code
  2951. *
  2952. Refer to MV_CC_GetPixelFormat and definition of MV_CAM_BALANCEWHITE_AUTO in CameraParam.h
  2953. ************************************************************************/
  2954. MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceWhiteAuto(IN void* handle, IN OUT MVCC_ENUMVALUE* pstValue);
  2955. /************************************************************************
  2956. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceWhiteAuto(IN void* handle, IN const unsigned int nValue);
  2957. * @brief 设置自动白平衡
  2958. * @param void* handle [IN] 相机句柄
  2959. * const unsigned int nValue [IN] 要设置的自动白平衡对应的整型值
  2960. * @return 成功,返回MV_OK,并且相机自动白平衡将会更改为相应值,失败,返回错误码
  2961. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceWhiteAuto(IN void* handle, IN const unsigned int nValue);
  2962. * @brief Set Auto white balance
  2963. * @param void* handle [IN] Handle
  2964. * const unsigned int nValue [IN] Integer value to set corresponding to auto white balance
  2965. * @return Success, return MV_OK, and the camera auto white balance will change to the corresponding value. Failure, return error code
  2966. ************************************************************************/
  2967. MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceWhiteAuto(IN void* handle, IN const unsigned int nValue);
  2968. /************************************************************************
  2969. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioRed(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2970. * @brief 获取白平衡 红
  2971. * @param void* handle [IN] 相机句柄
  2972. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机白平衡 红结构体指针
  2973. * @return 成功,返回MV_OK,失败,返回错误码
  2974. *
  2975. * 可参照接口MV_CC_GetWidth
  2976. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioRed(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2977. * @brief Get white balance red
  2978. * @param void* handle [IN] Handle
  2979. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of white balance red
  2980. * @return Success, return MV_OK. Failure, return error code
  2981. *
  2982. * Refer to MV_CC_GetWidth
  2983. ************************************************************************/
  2984. MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioRed(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  2985. /************************************************************************
  2986. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioRed(IN void* handle, IN const unsigned int nValue);
  2987. * @brief 设置白平衡 红
  2988. * @param void* handle [IN] 相机句柄
  2989. * const unsigned int nValue [IN] 想要设置的白平衡 红
  2990. * @return 成功,返回MV_OK,并且相机白平衡 红将会更改为相应值,失败,返回错误码
  2991. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioRed(IN void* handle, IN const unsigned int nValue);
  2992. * @brief Set white balance red
  2993. * @param void* handle [IN] Handle
  2994. * const unsigned int nValue [IN] White balance red to set
  2995. * @return Success, return MV_OK, and the camera white balance red will change to the corresponding value. Failure, return error code
  2996. ************************************************************************/
  2997. MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioRed(IN void* handle, IN const unsigned int nValue);
  2998. /************************************************************************
  2999. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioGreen(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3000. * @brief 获取白平衡 绿
  3001. * @param void* handle [IN] 相机句柄
  3002. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机白平衡 绿结构体指针
  3003. * @return 成功,返回MV_OK,失败,返回错误码
  3004. *
  3005. * 可参照接口MV_CC_GetWidth
  3006. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioGreen(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3007. * @brief Get white balance green
  3008. * @param void* handle [IN] Handle
  3009. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of white balance green
  3010. * @return Success, return MV_OK. Failure, return error code
  3011. *
  3012. * Refer to MV_CC_GetWidth
  3013. ************************************************************************/
  3014. MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioGreen(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3015. /************************************************************************
  3016. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioGreen(IN void* handle, IN const unsigned int nValue);
  3017. * @brief 设置白平衡 绿
  3018. * @param void* handle [IN] 相机句柄
  3019. * const unsigned int nValue [IN] 想要设置的白平衡 绿
  3020. * @return 成功,返回MV_OK,并且相机白平衡 绿将会更改为相应值,失败,返回错误码
  3021. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioGreen(IN void* handle, IN const unsigned int nValue);
  3022. * @brief Set white balance green
  3023. * @param void* handle [IN] Handle
  3024. * const unsigned int nValue [IN] White balance green to set
  3025. * @return Success, return MV_OK, and the camera white balance green will change to the corresponding value. Failure, return error code
  3026. ************************************************************************/
  3027. MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioGreen(IN void* handle, IN const unsigned int nValue);
  3028. /************************************************************************
  3029. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioBlue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3030. * @brief 获取白平衡 蓝
  3031. * @param void* handle [IN] 相机句柄
  3032. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机白平衡 蓝结构体指针
  3033. * @return 成功,返回MV_OK,失败,返回错误码
  3034. *
  3035. * 可参照接口MV_CC_GetWidth
  3036. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioBlue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3037. * @brief Get white balance blue
  3038. * @param void* handle [IN] Handle
  3039. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of white balance blue
  3040. * @return Success, return MV_OK. Failure, return error code
  3041. *
  3042. * Refer to MV_CC_GetWidth
  3043. ************************************************************************/
  3044. MVSDKEXPORT_API int __stdcall MV_CC_GetBalanceRatioBlue(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3045. /************************************************************************
  3046. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioBlue(IN void* handle, IN const unsigned int nValue);
  3047. * @brief 设置白平衡 蓝
  3048. * @param void* handle [IN] 相机句柄
  3049. * const unsigned int nValue [IN] 想要设置的白平衡 蓝
  3050. * @return 成功,返回MV_OK,并且相机白平衡 蓝将会更改为相应值,失败,返回错误码
  3051. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioBlue(IN void* handle, IN const unsigned int nValue);
  3052. * @brief Set white balance blue
  3053. * @param void* handle [IN] Handle
  3054. * const unsigned int nValue [IN] White balance blue to set
  3055. * @return Success, return MV_OK, and the camera white balance blue will change to the corresponding value. Failure, return error code
  3056. ************************************************************************/
  3057. MVSDKEXPORT_API int __stdcall MV_CC_SetBalanceRatioBlue(IN void* handle, IN const unsigned int nValue);
  3058. /************************************************************************
  3059. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetFrameSpecInfoAbility(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3060. * @brief 获取水印信息内包含的信息类型
  3061. * @param void* handle [IN] 相机句柄
  3062. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机水印信息内包含的信息类型结构体指针
  3063. * @return 成功,返回MV_OK,失败,返回错误码
  3064. *
  3065. * 可参照接口MV_CC_GetWidth
  3066. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetFrameSpecInfoAbility(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3067. * @brief Get information type included by frame stamp
  3068. * @param void* handle [IN] Handle
  3069. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of information type included by frame stamp
  3070. * @return Success, return MV_OK. Failure, return error code
  3071. *
  3072. * Refer to MV_CC_GetWidth
  3073. ************************************************************************/
  3074. MVSDKEXPORT_API int __stdcall MV_CC_GetFrameSpecInfoAbility(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3075. /************************************************************************
  3076. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetFrameSpecInfoAbility(IN void* handle, IN const unsigned int nValue);
  3077. * @brief 设置水印信息内包含的信息类型
  3078. * @param void* handle [IN] 相机句柄
  3079. * const unsigned int nValue [IN] 想要设置的水印信息内包含的信息类型
  3080. * @return 成功,返回MV_OK,并且相机水印信息内包含的信息类型会更改为相应值,失败,返回错误码
  3081. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetFrameSpecInfoAbility(IN void* handle, IN const unsigned int nValue);
  3082. * @brief Set information type included by frame stamp
  3083. * @param void* handle [IN] Handle
  3084. * const unsigned int nValue [IN] Information type included by frame stamp to set
  3085. * @return Success, return MV_OK, and the camera information type included by frame stamp will change to the corresponding value. Failure, return error code
  3086. ************************************************************************/
  3087. MVSDKEXPORT_API int __stdcall MV_CC_SetFrameSpecInfoAbility(IN void* handle, IN const unsigned int nValue);
  3088. /************************************************************************
  3089. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetDeviceUserID(IN void* handle, IN OUT MVCC_STRINGVALUE* pstValue);
  3090. * @brief 获取设备自定义名字
  3091. * @param void* handle [IN] 相机句柄
  3092. * MVCC_STRINGVALUE* pstValue [IN OUT] 返回给调用者有关相机名字结构体指针
  3093. * @return 成功,返回MV_OK,并且获取到相机的自定义名字,失败,返回错误码
  3094. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetDeviceUserID(IN void* handle, IN OUT MVCC_STRINGVALUE* pstValue);
  3095. * @brief Get device user defined name
  3096. * @param void* handle [IN] Handle
  3097. * MVCC_STRINGVALUE* pstValue [IN OUT] Structure pointer of device name
  3098. * @return Success, return MV_OK, and get the camera user defined name. Failure, return error code
  3099. ************************************************************************/
  3100. MVSDKEXPORT_API int __stdcall MV_CC_GetDeviceUserID(IN void* handle, IN OUT MVCC_STRINGVALUE* pstValue);
  3101. /************************************************************************
  3102. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetDeviceUserID(IN void* handle, IN const char* chValue);
  3103. * @brief 设置设备自定义名字
  3104. * @param void* handle [IN] 相机句柄
  3105. * IN const char* chValue [IN] 设备名字
  3106. * @return 成功,返回MV_OK,并且设置设备自定义名字,失败,返回错误码
  3107. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetDeviceUserID(IN void* handle, IN const char* chValue);
  3108. * @brief Set device user defined name
  3109. * @param void* handle [IN] Handle
  3110. * IN const char* chValue [IN] Device name
  3111. * @return Success, return MV_OK, and set the camera user defined name. Failure, return error code
  3112. ************************************************************************/
  3113. MVSDKEXPORT_API int __stdcall MV_CC_SetDeviceUserID(IN void* handle, IN const char* chValue);
  3114. /************************************************************************
  3115. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBurstFrameCount(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3116. * @brief 获取一次触发的帧数
  3117. * @param void* handle [IN] 相机句柄
  3118. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机一次触发的帧数结构体指针
  3119. * @return 成功,返回MV_OK,失败,返回错误码
  3120. *
  3121. * 可参照接口MV_CC_GetWidth
  3122. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetBurstFrameCount(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3123. * @brief Get frame number trigger by once
  3124. * @param void* handle [IN] Handle
  3125. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of frame number trigger by once
  3126. * @return Success, return MV_OK. Failure, return error code
  3127. *
  3128. * Refer to MV_CC_GetWidth
  3129. ************************************************************************/
  3130. MVSDKEXPORT_API int __stdcall MV_CC_GetBurstFrameCount(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3131. /************************************************************************
  3132. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBurstFrameCount(IN void* handle, IN const unsigned int nValue);
  3133. * @brief 设置一次触发的帧数
  3134. * @param void* handle [IN] 相机句柄
  3135. * const unsigned int nValue [IN] 想要设置的一次触发的帧数
  3136. * @return 成功,返回MV_OK,并且相机一次触发的帧数会更改为相应值,失败,返回错误码
  3137. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetBurstFrameCount(IN void* handle, IN const unsigned int nValue);
  3138. * @brief Set frame number trigger by once
  3139. * @param void* handle [IN] Handle
  3140. * const unsigned int nValue [IN] Frame number trigger by once to set
  3141. * @return Success, return MV_OK, and the camera frame number trigger by once will change to the corresponding value. Failure, return error code
  3142. ************************************************************************/
  3143. MVSDKEXPORT_API int __stdcall MV_CC_SetBurstFrameCount(IN void* handle, IN const unsigned int nValue);
  3144. /************************************************************************
  3145. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionLineRate(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3146. * @brief 获取行频
  3147. * @param void* handle [IN] 相机句柄
  3148. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机行频结构体指针
  3149. * @return 成功,返回MV_OK,失败,返回错误码
  3150. *
  3151. * 可参照接口MV_CC_GetWidth
  3152. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionLineRate(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3153. * @brief Get line rate
  3154. * @param void* handle [IN] Handle
  3155. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of line rate
  3156. * @return Success, return MV_OK. Failure, return error code
  3157. *
  3158. * Refer to MV_CC_GetWidth
  3159. ************************************************************************/
  3160. MVSDKEXPORT_API int __stdcall MV_CC_GetAcquisitionLineRate(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3161. /************************************************************************
  3162. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionLineRate(IN void* handle, IN const unsigned int nValue);
  3163. * @brief 设置行频
  3164. * @param void* handle [IN] 相机句柄
  3165. * const unsigned int nValue [IN] 想要设置的行频
  3166. * @return 成功,返回MV_OK,并且相机行频会更改为相应值,失败,返回错误码
  3167. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionLineRate(IN void* handle, IN const unsigned int nValue);
  3168. * @brief Set line rate
  3169. * @param void* handle [IN] Handle
  3170. * const unsigned int nValue [IN] Line rate to set
  3171. * @return Success, return MV_OK, and the camera line rate will change to the corresponding value. Failure, return error code
  3172. ************************************************************************/
  3173. MVSDKEXPORT_API int __stdcall MV_CC_SetAcquisitionLineRate(IN void* handle, IN const unsigned int nValue);
  3174. /************************************************************************
  3175. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHeartBeatTimeout(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3176. * @brief 获取心跳信息
  3177. * @param void* handle [IN] 相机句柄
  3178. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机心跳信息结构体指针
  3179. * @return 成功,返回MV_OK,失败,返回错误码
  3180. *
  3181. * 可参照接口MV_CC_GetWidth
  3182. * @fn MVSDKEXPORT_API int __stdcall MV_CC_GetHeartBeatTimeout(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3183. * @brief Get heartbeat information
  3184. * @param void* handle [IN] Handle
  3185. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of heartbeat information
  3186. * @return Success, return MV_OK. Failure, return error code
  3187. *
  3188. * Refer to MV_CC_GetWidth
  3189. ************************************************************************/
  3190. MVSDKEXPORT_API int __stdcall MV_CC_GetHeartBeatTimeout(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3191. /************************************************************************
  3192. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHeartBeatTimeout(IN void* handle, IN const unsigned int nValue);
  3193. * @brief 设置心跳信息
  3194. * @param void* handle [IN] 相机句柄
  3195. * const unsigned int nValue [IN] 想要设置的心跳信息
  3196. * @return 成功,返回MV_OK,并且相机心跳信息会更改为相应值,失败,返回错误码
  3197. * @fn MVSDKEXPORT_API int __stdcall MV_CC_SetHeartBeatTimeout(IN void* handle, IN const unsigned int nValue);
  3198. * @brief Set heartbeat information
  3199. * @param void* handle [IN] Handle
  3200. * const unsigned int nValue [IN] Heartbeat information to set
  3201. * @return Success, return MV_OK, and the camera heartbeat information will change to the corresponding value. Failure, return error code
  3202. ************************************************************************/
  3203. MVSDKEXPORT_API int __stdcall MV_CC_SetHeartBeatTimeout(IN void* handle, IN const unsigned int nValue);
  3204. /************************************************************************
  3205. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPSPacketSize(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3206. * @brief 获取网络包大小
  3207. * @param void* handle [IN] 相机句柄
  3208. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机网络包大小结构体指针
  3209. * @return 成功,返回MV_OK,失败,返回错误码
  3210. *
  3211. * 可参照接口MV_CC_GetWidth
  3212. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPSPacketSize(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3213. * @brief Get network packet size
  3214. * @param void* handle [IN] Handle
  3215. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of network packet size
  3216. * @return Success, return MV_OK. Failure, return error code
  3217. *
  3218. * Refer to MV_CC_GetWidth
  3219. ************************************************************************/
  3220. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPSPacketSize(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3221. /************************************************************************
  3222. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPSPacketSize(IN void* handle, IN const unsigned int nValue);
  3223. * @brief 设置网络包大小
  3224. * @param void* handle [IN] 相机句柄
  3225. * const unsigned int nValue [IN] 想要设置的网络包大小
  3226. * @return 成功,返回MV_OK,并且相机网络包大小会更改为相应值,失败,返回错误码
  3227. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPSPacketSize(IN void* handle, IN const unsigned int nValue);
  3228. * @brief Set network packet size
  3229. * @param void* handle [IN] Handle
  3230. * const unsigned int nValue [IN] Packet size to set
  3231. * @return Success, return MV_OK, and change packet size to setting value. Failure, return error code
  3232. ************************************************************************/
  3233. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPSPacketSize(IN void* handle, IN const unsigned int nValue);
  3234. /************************************************************************
  3235. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPD(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3236. * @brief 获取网络包发送间隔
  3237. * @param void* handle [IN] 相机句柄
  3238. * @param MVCC_INTVALUE* pstValue [IN][OUT] 返回给调用者有关相机网络包发送间隔结构体指针
  3239. * @return 成功,返回MV_OK,失败,返回错误码
  3240. *
  3241. * 可参照接口MV_CC_GetWidth
  3242. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPD(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3243. * @brief Get network packet sending delay
  3244. * @param void* handle [IN] Handle
  3245. * @param MVCC_INTVALUE* pstValue [IN][OUT] Structure pointer of network packet sending delay
  3246. * @return Success, return MV_OK. Failure, return error code
  3247. *
  3248. * Refer to MV_CC_GetWidth
  3249. ************************************************************************/
  3250. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCPD(IN void* handle, IN OUT MVCC_INTVALUE* pstValue);
  3251. /************************************************************************
  3252. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPD(IN void* handle, IN const unsigned int nValue);
  3253. * @brief 设置网络包发送间隔
  3254. * @param void* handle [IN] 相机句柄
  3255. * const unsigned int nValue [IN] 想要设置的网络包发送间隔
  3256. * @return 成功,返回MV_OK,并且相机网络包发送间隔会更改为相应值,失败,返回错误码
  3257. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPD(IN void* handle, IN const unsigned int nValue);
  3258. * @brief Set network packet sending delay
  3259. * @param void* handle [IN] Handle
  3260. * const unsigned int nValue [IN] Packet delay to set
  3261. * @return Success, return MV_OK, and change packet delay to setting value. Failure, return error code
  3262. ************************************************************************/
  3263. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCPD(IN void* handle, IN const unsigned int nValue);
  3264. /************************************************************************
  3265. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCDA(IN void* handle, unsigned int* pnIP);
  3266. * @brief 获取接收端IP地址,0xa9fe0102 表示 169.254.1.2
  3267. * @param void* handle [IN] 相机句柄
  3268. * @param unsigned int* pnIP [IN][OUT] 返回给调用者接收端IP地址
  3269. * @return 成功,返回MV_OK,失败,返回错误码
  3270. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCDA(IN void* handle, unsigned int* pnIP);
  3271. * @brief Get receiver IP address, 0xa9fe0102 indicates 169.254.1.2
  3272. * @param void* handle [IN] Handle
  3273. * @param unsigned int* pnIP [IN][OUT] Receiver IP address
  3274. * @return Success, return MV_OK. Failure, return error code
  3275. ************************************************************************/
  3276. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCDA(IN void* handle, unsigned int* pnIP);
  3277. /************************************************************************
  3278. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCDA(IN void* handle, unsigned int nIP);
  3279. * @brief 设置接收端IP地址
  3280. * @param void* handle [IN] 相机句柄
  3281. * unsigned int nIP [IN] 想要设置的接收端IP地址
  3282. * @return 成功,返回MV_OK,并且相机接收端IP地址会更改为相应值,失败,返回错误码
  3283. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCDA(IN void* handle, unsigned int nIP);
  3284. * @brief Set receiver IP address
  3285. * @param void* handle [IN] Handel
  3286. * unsigned int nIP [IN] Receiver IP address to set
  3287. * @return Success, return MV_OK, and change receiver IP address to setting value. Failure, return error code
  3288. ************************************************************************/
  3289. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCDA(IN void* handle, unsigned int nIP);
  3290. /************************************************************************
  3291. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCSP(IN void* handle, unsigned int* pnPort);
  3292. * @brief 获取发送端的端口号
  3293. * @param void* handle [IN] 相机句柄
  3294. * @param unsigned int* pnPort [IN][OUT] 返回给调用者发送端的端口号
  3295. * @return 成功,返回MV_OK,失败,返回错误码
  3296. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCSP(IN void* handle, unsigned int* pnPort);
  3297. * @brief Get transmitter port number
  3298. * @param void* handle [IN] Handle
  3299. * @param unsigned int* pnPort [IN][OUT] Transmitter port number
  3300. * @return Success, return MV_OK. Failure, return error code
  3301. ************************************************************************/
  3302. MVSDKEXPORT_API int __stdcall MV_GIGE_GetGevSCSP(IN void* handle, unsigned int* pnPort);
  3303. /************************************************************************
  3304. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCSP(IN void* handle, unsigned int nPort);
  3305. * @brief 设置发送端的端口号
  3306. * @param void* handle [IN] 相机句柄
  3307. * unsigned int nPort [IN] 想要设置的发送端的端口号
  3308. * @return 成功,返回MV_OK,并且相机发送端的端口号会更改为相应值,失败,返回错误码
  3309. * @fn MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCSP(IN void* handle, unsigned int nPort);
  3310. * @brief Set transmitter port number
  3311. * @param void* handle [IN] Handle
  3312. * unsigned int nPort [IN] Transmitter port number to set
  3313. * @return Success, return MV_OK, and change transmitter port number to setting value. Failure, return error code
  3314. ************************************************************************/
  3315. MVSDKEXPORT_API int __stdcall MV_GIGE_SetGevSCSP(IN void* handle, unsigned int nPort);
  3316. /********************************************************************//**
  3317. * @~chinese
  3318. * @brief 设置设备波特率
  3319. * @param handle [IN] 设备句柄
  3320. * @param nBaudrate [IN] 设置的波特率值,数值参考CameraParams.h中宏定义,如#define MV_CAML_BAUDRATE_9600 0x00000001
  3321. * @return 成功,返回MV_OK,失败,返回错误码
  3322. * @remarks (该接口已弃用,建议改用 MV_CAML_SetDeviceBaudrate接口)
  3323. * @~english
  3324. * @brief Set device baudrate using one of the CL_BAUDRATE_XXXX value
  3325. * @param handle [IN] Device handle
  3326. * @param nBaudrate [IN] baud rate to set. Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
  3327. * @return Success, return MV_OK. Failure, return error code
  3328. * @remarks (This interface is abandoned, it is recommended to use the MV_CAML_SetDeviceBaudrate)
  3329. ************************************************************************/
  3330. MVSDKEXPORT_API int __stdcall MV_CAML_SetDeviceBauderate(IN void* handle, unsigned int nBaudrate);
  3331. /********************************************************************//**
  3332. * @~chinese
  3333. * @brief 获取设备波特率
  3334. * @param handle [IN] 设备句柄
  3335. * @param pnCurrentBaudrate [OUT] 波特率信息指针,数值参考CameraParams.h中宏定义,如#define MV_CAML_BAUDRATE_9600 0x00000001
  3336. * @return 成功,返回MV_OK,失败,返回错误码
  3337. * @remarks (该接口已弃用,建议改用 MV_CAML_GetDeviceBaudrate接口)
  3338. * @~english
  3339. * @brief Returns the current device baudrate, using one of the CL_BAUDRATE_XXXX value
  3340. * @param handle [IN] Device handle
  3341. * @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
  3342. * @return Success, return MV_OK. Failure, return error code
  3343. * @remarks (This interface is abandoned, it is recommended to use the MV_CAML_GetDeviceBaudrate)
  3344. ************************************************************************/
  3345. MVSDKEXPORT_API int __stdcall MV_CAML_GetDeviceBauderate(IN void* handle,unsigned int* pnCurrentBaudrate);
  3346. /********************************************************************//**
  3347. * @~chinese
  3348. * @brief 获取设备与主机间连接支持的波特率
  3349. * @param handle [IN] 设备句柄
  3350. * @param pnBaudrateAblity [OUT] 支持的波特率信息的指针。所支持波特率的或运算结果,单个数值参考CameraParams.h中宏定义,如MV_CAML_BAUDRATE_9600 0x00000001
  3351. * @return 成功,返回MV_OK,失败,返回错误码
  3352. * @remarks (该接口已弃用,建议改用 MV_CAML_GetSupportBaudrates接口)
  3353. * @~english
  3354. * @brief Returns supported baudrates of the combined device and host interface
  3355. * @param handle [IN] Device handle
  3356. * @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
  3357. * @return Success, return MV_OK. Failure, return error code
  3358. * @remarks (This interface is abandoned, it is recommended to use the MV_CAML_GetSupportBaudrates)
  3359. ************************************************************************/
  3360. MVSDKEXPORT_API int __stdcall MV_CAML_GetSupportBauderates(IN void* handle,unsigned int* pnBaudrateAblity);
  3361. #ifdef __cplusplus
  3362. }
  3363. #endif
  3364. #endif //_MV_SDK_EXPORT_H__