##########   This file is generated automatically based on dcamprop.h   ##########

# pylint: disable=unused-import, unused-argument, wrong-spelling-in-comment


import ctypes
import enum
from ...core.utils import ctypes_wrap




def _int32(v): return (v+0x80000000)%0x100000000-0x80000000




##### TYPE DEFINITIONS #####


BYTE=ctypes.c_ubyte
PBYTE=ctypes.POINTER(BYTE)
CHAR=ctypes.c_char
PCHAR=ctypes.c_char_p
UCHAR=ctypes.c_ubyte
PUCHAR=ctypes.POINTER(UCHAR)
ULONG_PTR=ctypes.c_uint64
LONG_PTR=ctypes.c_int64
WORD=ctypes.c_ushort
LPWORD=ctypes.POINTER(WORD)
LONGLONG=ctypes.c_int64
LPLONG=ctypes.POINTER(ctypes.c_long)
HANDLE=ctypes.c_void_p
LPHANDLE=ctypes.POINTER(HANDLE)
HWND=ctypes.c_void_p
HGLOBAL=ctypes.c_void_p
HINSTANCE=ctypes.c_void_p
HDC=ctypes.c_void_p
HMODULE=ctypes.c_void_p
HKEY=ctypes.c_void_p
PVOID=ctypes.c_void_p
LPVOID=ctypes.c_void_p
class DCAMPROPOPTION(enum.IntEnum):
    DCAMPROP_OPTION_PRIOR       =_int32(0xFF000000)
    DCAMPROP_OPTION_NEXT        =_int32(0x01000000)
    DCAMPROP_OPTION_NEAREST     =_int32(0x80000000)
    DCAMPROP_OPTION_SUPPORT     =_int32(0x00000000)
    DCAMPROP_OPTION_UPDATED     =_int32(0x00000001)
    DCAMPROP_OPTION_VOLATILE    =_int32(0x00000002)
    DCAMPROP_OPTION_ARRAYELEMENT=_int32(0x00000004)
    DCAMPROP_OPTION_NONE        =_int32(0x00000000)
dDCAMPROPOPTION={a.name:a.value for a in DCAMPROPOPTION}
drDCAMPROPOPTION={a.value:a.name for a in DCAMPROPOPTION}


class DCAMPROPATTRIBUTE(enum.IntEnum):
    DCAMPROP_ATTR_HASRANGE             =_int32(0x80000000)
    DCAMPROP_ATTR_HASSTEP              =_int32(0x40000000)
    DCAMPROP_ATTR_HASDEFAULT           =_int32(0x20000000)
    DCAMPROP_ATTR_HASVALUETEXT         =_int32(0x10000000)
    DCAMPROP_ATTR_HASCHANNEL           =_int32(0x08000000)
    DCAMPROP_ATTR_AUTOROUNDING         =_int32(0x00800000)
    DCAMPROP_ATTR_STEPPING_INCONSISTENT=_int32(0x00400000)
    DCAMPROP_ATTR_DATASTREAM           =_int32(0x00200000)
    DCAMPROP_ATTR_HASRATIO             =_int32(0x00100000)
    DCAMPROP_ATTR_VOLATILE             =_int32(0x00080000)
    DCAMPROP_ATTR_WRITABLE             =_int32(0x00020000)
    DCAMPROP_ATTR_READABLE             =_int32(0x00010000)
    DCAMPROP_ATTR_HASVIEW              =_int32(0x00008000)
    DCAMPROP_ATTR__SYSTEM              =_int32(0x00004000)
    DCAMPROP_ATTR_ACCESSREADY          =_int32(0x00002000)
    DCAMPROP_ATTR_ACCESSBUSY           =_int32(0x00001000)
    DCAMPROP_ATTR_ADVANCED             =_int32(0x00000800)
    DCAMPROP_ATTR_ACTION               =_int32(0x00000400)
    DCAMPROP_ATTR_EFFECTIVE            =_int32(0x00000200)
    DCAMPROP_TYPE_NONE                 =_int32(0x00000000)
    DCAMPROP_TYPE_MODE                 =_int32(0x00000001)
    DCAMPROP_TYPE_LONG                 =_int32(0x00000002)
    DCAMPROP_TYPE_REAL                 =_int32(0x00000003)
    DCAMPROP_TYPE_MASK                 =_int32(0x0000000F)
dDCAMPROPATTRIBUTE={a.name:a.value for a in DCAMPROPATTRIBUTE}
drDCAMPROPATTRIBUTE={a.value:a.name for a in DCAMPROPATTRIBUTE}


class DCAMPROPATTRIBUTE2(enum.IntEnum):
    DCAMPROP_ATTR2_ARRAYBASE         =_int32(0x08000000)
    DCAMPROP_ATTR2_ARRAYELEMENT      =_int32(0x04000000)
    DCAMPROP_ATTR2_REAL32            =_int32(0x02000000)
    DCAMPROP_ATTR2_INITIALIZEIMPROPER=_int32(0x00000001)
    DCAMPROP_ATTR2__FUTUREUSE        =_int32(0x000FFFFC)
dDCAMPROPATTRIBUTE2={a.name:a.value for a in DCAMPROPATTRIBUTE2}
drDCAMPROPATTRIBUTE2={a.value:a.name for a in DCAMPROPATTRIBUTE2}


class DCAMPROPUNIT(enum.IntEnum):
    DCAMPROP_UNIT_SECOND        =_int32(1)
    DCAMPROP_UNIT_CELSIUS       =_int32(2)
    DCAMPROP_UNIT_KELVIN        =_int32(3)
    DCAMPROP_UNIT_METERPERSECOND=_int32(4)
    DCAMPROP_UNIT_PERSECOND     =_int32(5)
    DCAMPROP_UNIT_DEGREE        =_int32(6)
    DCAMPROP_UNIT_MICROMETER    =_int32(7)
    DCAMPROP_UNIT_NONE          =_int32(0)
dDCAMPROPUNIT={a.name:a.value for a in DCAMPROPUNIT}
drDCAMPROPUNIT={a.value:a.name for a in DCAMPROPUNIT}


class DCAMPROPMODEVALUE(enum.IntEnum):
    DCAMPROP_SENSORMODE__AREA                              =_int32(1)
    DCAMPROP_SENSORMODE__SLIT                              =_int32(2)
    DCAMPROP_SENSORMODE__LINE                              =_int32(3)
    DCAMPROP_SENSORMODE__TDI                               =_int32(4)
    DCAMPROP_SENSORMODE__FRAMING                           =_int32(5)
    DCAMPROP_SENSORMODE__PARTIALAREA                       =_int32(6)
    DCAMPROP_SENSORMODE__SLITLINE                          =_int32(9)
    DCAMPROP_SENSORMODE__TDI_EXTENDED                      =_int32(10)
    DCAMPROP_SENSORMODE__PANORAMIC                         =_int32(11)
    DCAMPROP_SENSORMODE__PROGRESSIVE                       =_int32(12)
    DCAMPROP_SENSORMODE__SPLITVIEW                         =_int32(14)
    DCAMPROP_SENSORMODE__DUALLIGHTSHEET                    =_int32(16)
    DCAMPROP_READOUTSPEED__SLOWEST                         =_int32(1)
    DCAMPROP_READOUTSPEED__FASTEST                         =_int32(0x7FFFFFFF)
    DCAMPROP_READOUT_DIRECTION__FORWARD                    =_int32(1)
    DCAMPROP_READOUT_DIRECTION__BACKWARD                   =_int32(2)
    DCAMPROP_READOUT_DIRECTION__BYTRIGGER                  =_int32(3)
    DCAMPROP_READOUT_DIRECTION__DIVERGE                    =_int32(5)
    DCAMPROP_READOUT_UNIT__FRAME                           =_int32(2)
    DCAMPROP_READOUT_UNIT__BUNDLEDLINE                     =_int32(3)
    DCAMPROP_READOUT_UNIT__BUNDLEDFRAME                    =_int32(4)
    DCAMPROP_CCDMODE__NORMALCCD                            =_int32(1)
    DCAMPROP_CCDMODE__EMCCD                                =_int32(2)
    DCAMPROP_CMOSMODE__NORMAL                              =_int32(1)
    DCAMPROP_CMOSMODE__NONDESTRUCTIVE                      =_int32(2)
    DCAMPROP_OUTPUT_INTENSITY__NORMAL                      =_int32(1)
    DCAMPROP_OUTPUT_INTENSITY__TESTPATTERN                 =_int32(2)
    DCAMPROP_OUTPUTDATA_ORIENTATION__NORMAL                =_int32(1)
    DCAMPROP_OUTPUTDATA_ORIENTATION__MIRROR                =_int32(2)
    DCAMPROP_OUTPUTDATA_ORIENTATION__FLIP                  =_int32(3)
    DCAMPROP_OUTPUTDATA_OPERATION__RAW                     =_int32(1)
    DCAMPROP_OUTPUTDATA_OPERATION__ALIGNED                 =_int32(2)
    DCAMPROP_TESTPATTERN_KIND__FLAT                        =_int32(2)
    DCAMPROP_TESTPATTERN_KIND__HORZGRADATION               =_int32(4)
    DCAMPROP_TESTPATTERN_KIND__IHORZGRADATION              =_int32(5)
    DCAMPROP_TESTPATTERN_KIND__VERTGRADATION               =_int32(6)
    DCAMPROP_TESTPATTERN_KIND__IVERTGRADATION              =_int32(7)
    DCAMPROP_TESTPATTERN_KIND__LINE                        =_int32(8)
    DCAMPROP_TESTPATTERN_KIND__DIAGONAL                    =_int32(10)
    DCAMPROP_TESTPATTERN_KIND__FRAMECOUNT                  =_int32(12)
    DCAMPROP_DIGITALBINNING_METHOD__MINIMUM                =_int32(1)
    DCAMPROP_DIGITALBINNING_METHOD__MAXIMUM                =_int32(2)
    DCAMPROP_DIGITALBINNING_METHOD__ODD                    =_int32(3)
    DCAMPROP_DIGITALBINNING_METHOD__EVEN                   =_int32(4)
    DCAMPROP_DIGITALBINNING_METHOD__SUM                    =_int32(5)
    DCAMPROP_DIGITALBINNING_METHOD__AVERAGE                =_int32(6)
    DCAMPROP_TRIGGERSOURCE__INTERNAL                       =_int32(1)
    DCAMPROP_TRIGGERSOURCE__EXTERNAL                       =_int32(2)
    DCAMPROP_TRIGGERSOURCE__SOFTWARE                       =_int32(3)
    DCAMPROP_TRIGGERSOURCE__MASTERPULSE                    =_int32(4)
    DCAMPROP_TRIGGERACTIVE__EDGE                           =_int32(1)
    DCAMPROP_TRIGGERACTIVE__LEVEL                          =_int32(2)
    DCAMPROP_TRIGGERACTIVE__SYNCREADOUT                    =_int32(3)
    DCAMPROP_TRIGGERACTIVE__POINT                          =_int32(4)
    DCAMPROP_BUS_SPEED__SLOWEST                            =_int32(1)
    DCAMPROP_BUS_SPEED__FASTEST                            =_int32(0x7FFFFFFF)
    DCAMPROP_TRIGGER_MODE__NORMAL                          =_int32(1)
    DCAMPROP_TRIGGER_MODE__PIV                             =_int32(3)
    DCAMPROP_TRIGGER_MODE__START                           =_int32(6)
    DCAMPROP_TRIGGER_MODE__MULTIGATE                       =_int32(7)
    DCAMPROP_TRIGGER_MODE__MULTIFRAME                      =_int32(8)
    DCAMPROP_TRIGGERPOLARITY__NEGATIVE                     =_int32(1)
    DCAMPROP_TRIGGERPOLARITY__POSITIVE                     =_int32(2)
    DCAMPROP_TRIGGER_CONNECTOR__INTERFACE                  =_int32(1)
    DCAMPROP_TRIGGER_CONNECTOR__BNC                        =_int32(2)
    DCAMPROP_TRIGGER_CONNECTOR__MULTI                      =_int32(3)
    DCAMPROP_INTERNALTRIGGER_HANDLING__SHORTEREXPOSURETIME =_int32(1)
    DCAMPROP_INTERNALTRIGGER_HANDLING__FASTERFRAMERATE     =_int32(2)
    DCAMPROP_INTERNALTRIGGER_HANDLING__ABANDONWRONGFRAME   =_int32(3)
    DCAMPROP_INTERNALTRIGGER_HANDLING__BURSTMODE           =_int32(4)
    DCAMPROP_INTERNALTRIGGER_HANDLING__INDIVIDUALEXPOSURE  =_int32(7)
    DCAMPROP_SYNCREADOUT_SYSTEMBLANK__STANDARD             =_int32(1)
    DCAMPROP_SYNCREADOUT_SYSTEMBLANK__MINIMUM              =_int32(2)
    DCAMPROP_TRIGGERENABLE_ACTIVE__DENY                    =_int32(1)
    DCAMPROP_TRIGGERENABLE_ACTIVE__ALWAYS                  =_int32(2)
    DCAMPROP_TRIGGERENABLE_ACTIVE__LEVEL                   =_int32(3)
    DCAMPROP_TRIGGERENABLE_ACTIVE__START                   =_int32(4)
    DCAMPROP_TRIGGERENABLE_POLARITY__NEGATIVE              =_int32(1)
    DCAMPROP_TRIGGERENABLE_POLARITY__POSITIVE              =_int32(2)
    DCAMPROP_TRIGGERENABLE_POLARITY__INTERLOCK             =_int32(3)
    DCAMPROP_OUTPUTTRIGGER_CHANNELSYNC__1CHANNEL           =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_CHANNELSYNC__2CHANNELS          =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_CHANNELSYNC__3CHANNELS          =_int32(3)
    DCAMPROP_OUTPUTTRIGGER_PROGRAMABLESTART__FIRSTEXPOSURE =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_PROGRAMABLESTART__FIRSTREADOUT  =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_SOURCE__EXPOSURE                =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_SOURCE__READOUTEND              =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_SOURCE__VSYNC                   =_int32(3)
    DCAMPROP_OUTPUTTRIGGER_SOURCE__HSYNC                   =_int32(4)
    DCAMPROP_OUTPUTTRIGGER_SOURCE__TRIGGER                 =_int32(6)
    DCAMPROP_OUTPUTTRIGGER_POLARITY__NEGATIVE              =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_POLARITY__POSITIVE              =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_ACTIVE__EDGE                    =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_ACTIVE__LEVEL                   =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_KIND__LOW                       =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_KIND__EXPOSURE                  =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_KIND__PROGRAMABLE               =_int32(3)
    DCAMPROP_OUTPUTTRIGGER_KIND__TRIGGERREADY              =_int32(4)
    DCAMPROP_OUTPUTTRIGGER_KIND__HIGH                      =_int32(5)
    DCAMPROP_OUTPUTTRIGGER_BASESENSOR__VIEW1               =_int32(1)
    DCAMPROP_OUTPUTTRIGGER_BASESENSOR__VIEW2               =_int32(2)
    DCAMPROP_OUTPUTTRIGGER_BASESENSOR__ANYVIEW             =_int32(15)
    DCAMPROP_OUTPUTTRIGGER_BASESENSOR__ALLVIEWS            =_int32(16)
    DCAMPROP_EXPOSURETIME_CONTROL__OFF                     =_int32(1)
    DCAMPROP_EXPOSURETIME_CONTROL__NORMAL                  =_int32(2)
    DCAMPROP_TRIGGER_FIRSTEXPOSURE__NEW                    =_int32(1)
    DCAMPROP_TRIGGER_FIRSTEXPOSURE__CURRENT                =_int32(2)
    DCAMPROP_TRIGGER_GLOBALEXPOSURE__NONE                  =_int32(1)
    DCAMPROP_TRIGGER_GLOBALEXPOSURE__ALWAYS                =_int32(2)
    DCAMPROP_TRIGGER_GLOBALEXPOSURE__DELAYED               =_int32(3)
    DCAMPROP_TRIGGER_GLOBALEXPOSURE__EMULATE               =_int32(4)
    DCAMPROP_TRIGGER_GLOBALEXPOSURE__GLOBALRESET           =_int32(5)
    DCAMPROP_FIRSTTRIGGER_BEHAVIOR__STARTEXPOSURE          =_int32(1)
    DCAMPROP_FIRSTTRIGGER_BEHAVIOR__STARTREADOUT           =_int32(2)
    DCAMPROP_MASTERPULSE_MODE__CONTINUOUS                  =_int32(1)
    DCAMPROP_MASTERPULSE_MODE__START                       =_int32(2)
    DCAMPROP_MASTERPULSE_MODE__BURST                       =_int32(3)
    DCAMPROP_MASTERPULSE_TRIGGERSOURCE__EXTERNAL           =_int32(1)
    DCAMPROP_MASTERPULSE_TRIGGERSOURCE__SOFTWARE           =_int32(2)
    DCAMPROP_MECHANICALSHUTTER__AUTO                       =_int32(1)
    DCAMPROP_MECHANICALSHUTTER__CLOSE                      =_int32(2)
    DCAMPROP_MECHANICALSHUTTER__OPEN                       =_int32(3)
    DCAMPROP_LIGHTMODE__LOWLIGHT                           =_int32(1)
    DCAMPROP_LIGHTMODE__HIGHLIGHT                          =_int32(2)
    DCAMPROP_SENSITIVITYMODE__OFF                          =_int32(1)
    DCAMPROP_SENSITIVITYMODE__ON                           =_int32(2)
    DCAMPROP_SENSITIVITY2_MODE__INTERLOCK                  =_int32(3)
    DCAMPROP_EMGAINWARNING_STATUS__NORMAL                  =_int32(1)
    DCAMPROP_EMGAINWARNING_STATUS__WARNING                 =_int32(2)
    DCAMPROP_EMGAINWARNING_STATUS__PROTECTED               =_int32(3)
    DCAMPROP_PHOTONIMAGINGMODE__0                          =_int32(0)
    DCAMPROP_PHOTONIMAGINGMODE__1                          =_int32(1)
    DCAMPROP_PHOTONIMAGINGMODE__2                          =_int32(2)
    DCAMPROP_PHOTONIMAGINGMODE__3                          =_int32(3)
    DCAMPROP_SENSORCOOLER__OFF                             =_int32(1)
    DCAMPROP_SENSORCOOLER__ON                              =_int32(2)
    DCAMPROP_SENSORCOOLER__MAX                             =_int32(4)
    DCAMPROP_SENSORTEMPERATURE_STATUS__NORMAL              =_int32(0)
    DCAMPROP_SENSORTEMPERATURE_STATUS__WARNING             =_int32(1)
    DCAMPROP_SENSORTEMPERATURE_STATUS__PROTECTION          =_int32(2)
    DCAMPROP_SENSORCOOLERSTATUS__ERROR4                    =_int32((-4))
    DCAMPROP_SENSORCOOLERSTATUS__ERROR3                    =_int32((-3))
    DCAMPROP_SENSORCOOLERSTATUS__ERROR2                    =_int32((-2))
    DCAMPROP_SENSORCOOLERSTATUS__ERROR1                    =_int32((-1))
    DCAMPROP_SENSORCOOLERSTATUS__NONE                      =_int32(0)
    DCAMPROP_SENSORCOOLERSTATUS__OFF                       =_int32(1)
    DCAMPROP_SENSORCOOLERSTATUS__READY                     =_int32(2)
    DCAMPROP_SENSORCOOLERSTATUS__BUSY                      =_int32(3)
    DCAMPROP_SENSORCOOLERSTATUS__ALWAYS                    =_int32(4)
    DCAMPROP_REALTIMEGAINCORRECT_LEVEL__1                  =_int32(1)
    DCAMPROP_REALTIMEGAINCORRECT_LEVEL__2                  =_int32(2)
    DCAMPROP_REALTIMEGAINCORRECT_LEVEL__3                  =_int32(3)
    DCAMPROP_REALTIMEGAINCORRECT_LEVEL__4                  =_int32(4)
    DCAMPROP_REALTIMEGAINCORRECT_LEVEL__5                  =_int32(5)
    DCAMPROP_WHITEBALANCEMODE__FLAT                        =_int32(1)
    DCAMPROP_WHITEBALANCEMODE__AUTO                        =_int32(2)
    DCAMPROP_WHITEBALANCEMODE__TEMPERATURE                 =_int32(3)
    DCAMPROP_WHITEBALANCEMODE__USERPRESET                  =_int32(4)
    DCAMPROP_DARKCALIB_TARGET__ALL                         =_int32(1)
    DCAMPROP_DARKCALIB_TARGET__ANALOG                      =_int32(2)
    DCAMPROP_SHADINGCALIB_METHOD__AVERAGE                  =_int32(1)
    DCAMPROP_SHADINGCALIB_METHOD__MAXIMUM                  =_int32(2)
    DCAMPROP_SHADINGCALIB_METHOD__USETARGET                =_int32(3)
    DCAMPROP_CAPTUREMODE__NORMAL                           =_int32(1)
    DCAMPROP_CAPTUREMODE__DARKCALIB                        =_int32(2)
    DCAMPROP_CAPTUREMODE__SHADINGCALIB                     =_int32(3)
    DCAMPROP_CAPTUREMODE__TAPGAINCALIB                     =_int32(4)
    DCAMPROP_CAPTUREMODE__BACKFOCUSCALIB                   =_int32(5)
    DCAMPROP_INTERFRAMEALU_ENABLE__OFF                     =_int32(1)
    DCAMPROP_INTERFRAMEALU_ENABLE__TRIGGERSOURCE_ALL       =_int32(2)
    DCAMPROP_INTERFRAMEALU_ENABLE__TRIGGERSOURCE_INTERNAL  =_int32(3)
    DCAMPROP_CALIBDATASTATUS__NONE                         =_int32(1)
    DCAMPROP_CALIBDATASTATUS__FORWARD                      =_int32(2)
    DCAMPROP_CALIBDATASTATUS__BACKWARD                     =_int32(3)
    DCAMPROP_CALIBDATASTATUS__BOTH                         =_int32(4)
    DCAMPROP_TAPGAINCALIB_METHOD__AVE                      =_int32(1)
    DCAMPROP_TAPGAINCALIB_METHOD__MAX                      =_int32(2)
    DCAMPROP_TAPGAINCALIB_METHOD__MIN                      =_int32(3)
    DCAMPROP_RECURSIVEFILTERFRAMES__2                      =_int32(2)
    DCAMPROP_RECURSIVEFILTERFRAMES__4                      =_int32(4)
    DCAMPROP_RECURSIVEFILTERFRAMES__8                      =_int32(8)
    DCAMPROP_RECURSIVEFILTERFRAMES__16                     =_int32(16)
    DCAMPROP_RECURSIVEFILTERFRAMES__32                     =_int32(32)
    DCAMPROP_RECURSIVEFILTERFRAMES__64                     =_int32(64)
    DCAMPROP_INTENSITYLUT_MODE__THROUGH                    =_int32(1)
    DCAMPROP_INTENSITYLUT_MODE__PAGE                       =_int32(2)
    DCAMPROP_INTENSITYLUT_MODE__CLIP                       =_int32(3)
    DCAMPROP_BINNING__1                                    =_int32(1)
    DCAMPROP_BINNING__2                                    =_int32(2)
    DCAMPROP_BINNING__4                                    =_int32(4)
    DCAMPROP_BINNING__8                                    =_int32(8)
    DCAMPROP_BINNING__16                                   =_int32(16)
    DCAMPROP_COLORTYPE__BW                                 =_int32(0x00000001)
    DCAMPROP_COLORTYPE__RGB                                =_int32(0x00000002)
    DCAMPROP_COLORTYPE__BGR                                =_int32(0x00000003)
    DCAMPROP_BITSPERCHANNEL__8                             =_int32(8)
    DCAMPROP_BITSPERCHANNEL__10                            =_int32(10)
    DCAMPROP_BITSPERCHANNEL__12                            =_int32(12)
    DCAMPROP_BITSPERCHANNEL__14                            =_int32(14)
    DCAMPROP_BITSPERCHANNEL__16                            =_int32(16)
    DCAMPROP_DEFECTCORRECT_MODE__OFF                       =_int32(1)
    DCAMPROP_DEFECTCORRECT_MODE__ON                        =_int32(2)
    DCAMPROP_DEFECTCORRECT_METHOD__CEILING                 =_int32(3)
    DCAMPROP_DEFECTCORRECT_METHOD__PREVIOUS                =_int32(4)
    DCAMPROP_HOTPIXELCORRECT_LEVEL__STANDARD               =_int32(1)
    DCAMPROP_HOTPIXELCORRECT_LEVEL__MINIMUM                =_int32(2)
    DCAMPROP_HOTPIXELCORRECT_LEVEL__AGGRESSIVE             =_int32(3)
    DCAMPROP_SYSTEM_ALIVE__OFFLINE                         =_int32(1)
    DCAMPROP_SYSTEM_ALIVE__ONLINE                          =_int32(2)
    DCAMPROP_TIMESTAMP_MODE__NONE                          =_int32(1)
    DCAMPROP_TIMESTAMP_MODE__LINEBEFORELEFT                =_int32(2)
    DCAMPROP_TIMESTAMP_MODE__LINEOVERWRITELEFT             =_int32(3)
    DCAMPROP_TIMESTAMP_MODE__AREABEFORELEFT                =_int32(4)
    DCAMPROP_TIMESTAMP_MODE__AREAOVERWRITELEFT             =_int32(5)
    DCAMPROP_PACECONTROL_MODE__OFF                         =_int32(1)
    DCAMPROP_PACECONTROL_MODE__INTERVAL                    =_int32(2)
    DCAMPROP_PACECONTROL_MODE__THINNING                    =_int32(3)
    DCAMPROP_TIMING_EXPOSURE__AFTERREADOUT                 =_int32(1)
    DCAMPROP_TIMING_EXPOSURE__OVERLAPREADOUT               =_int32(2)
    DCAMPROP_TIMING_EXPOSURE__ROLLING                      =_int32(3)
    DCAMPROP_TIMING_EXPOSURE__ALWAYS                       =_int32(4)
    DCAMPROP_TIMING_EXPOSURE__TDI                          =_int32(5)
    DCAMPROP_TIMESTAMP_PRODUCER__NONE                      =_int32(1)
    DCAMPROP_TIMESTAMP_PRODUCER__DCAMMODULE                =_int32(2)
    DCAMPROP_TIMESTAMP_PRODUCER__KERNELDRIVER              =_int32(3)
    DCAMPROP_TIMESTAMP_PRODUCER__CAPTUREDEVICE             =_int32(4)
    DCAMPROP_TIMESTAMP_PRODUCER__IMAGINGDEVICE             =_int32(5)
    DCAMPROP_FRAMESTAMP_PRODUCER__NONE                     =_int32(1)
    DCAMPROP_FRAMESTAMP_PRODUCER__DCAMMODULE               =_int32(2)
    DCAMPROP_FRAMESTAMP_PRODUCER__KERNELDRIVER             =_int32(3)
    DCAMPROP_FRAMESTAMP_PRODUCER__CAPTUREDEVICE            =_int32(4)
    DCAMPROP_FRAMESTAMP_PRODUCER__IMAGINGDEVICE            =_int32(5)
    DCAMPROP_CAMERASTATUS_INTENSITY__GOOD                  =_int32(1)
    DCAMPROP_CAMERASTATUS_INTENSITY__TOODARK               =_int32(2)
    DCAMPROP_CAMERASTATUS_INTENSITY__TOOBRIGHT             =_int32(3)
    DCAMPROP_CAMERASTATUS_INTENSITY__UNCARE                =_int32(4)
    DCAMPROP_CAMERASTATUS_INTENSITY__EMGAIN_PROTECTION     =_int32(5)
    DCAMPROP_CAMERASTATUS_INTENSITY__INCONSISTENT_OPTICS   =_int32(6)
    DCAMPROP_CAMERASTATUS_INTENSITY__NODATA                =_int32(7)
    DCAMPROP_CAMERASTATUS_INPUTTRIGGER__GOOD               =_int32(1)
    DCAMPROP_CAMERASTATUS_INPUTTRIGGER__NONE               =_int32(2)
    DCAMPROP_CAMERASTATUS_INPUTTRIGGER__TOOFREQUENT        =_int32(3)
    DCAMPROP_CAMERASTATUS_CALIBRATION__DONE                =_int32(1)
    DCAMPROP_CAMERASTATUS_CALIBRATION__NOTYET              =_int32(2)
    DCAMPROP_CAMERASTATUS_CALIBRATION__NOTRIGGER           =_int32(3)
    DCAMPROP_CAMERASTATUS_CALIBRATION__TOOFREQUENTTRIGGER  =_int32(4)
    DCAMPROP_CAMERASTATUS_CALIBRATION__OUTOFADJUSTABLERANGE=_int32(5)
    DCAMPROP_CAMERASTATUS_CALIBRATION__UNSUITABLETABLE     =_int32(6)
    DCAMPROP_CAMERASTATUS_CALIBRATION__TOODARK             =_int32(7)
    DCAMPROP_CAMERASTATUS_CALIBRATION__TOOBRIGHT           =_int32(8)
    DCAMPROP_CAMERASTATUS_CALIBRATION__NOTDETECTOBJECT     =_int32(9)
    DCAMPROP_MODE__OFF                                     =_int32(1)
    DCAMPROP_MODE__ON                                      =_int32(2)
    DCAMPROP_SCAN_MODE__NORMAL                             =_int32(DCAMPROP_SENSORMODE__AREA)
    DCAMPROP_SCAN_MODE__SLIT                               =_int32(DCAMPROP_SENSORMODE__SLIT)
    DCAMPROP_SWITCHMODE_OFF                                =_int32(DCAMPROP_MODE__OFF)
    DCAMPROP_SWITCHMODE_ON                                 =_int32(DCAMPROP_MODE__ON)
    DCAMPROP_TRIGGERACTIVE__PULSE                          =_int32(DCAMPROP_TRIGGERACTIVE__SYNCREADOUT)
    DCAMPROP_READOUT_DIRECTION__NORMAL                     =_int32(DCAMPROP_READOUT_DIRECTION__FORWARD)
    DCAMPROP_READOUT_DIRECTION__REVERSE                    =_int32(DCAMPROP_READOUT_DIRECTION__BACKWARD)
    DCAMPROP_TRIGGERSOURCE__EXERNAL                        =_int32(DCAMPROP_TRIGGERSOURCE__EXTERNAL)
dDCAMPROPMODEVALUE={a.name:a.value for a in DCAMPROPMODEVALUE}
drDCAMPROPMODEVALUE={a.value:a.name for a in DCAMPROPMODEVALUE}


class DCAMIDPROP(enum.IntEnum):
    DCAM_IDPROP_TRIGGERSOURCE                               =_int32(0x00100110)
    DCAM_IDPROP_TRIGGERACTIVE                               =_int32(0x00100120)
    DCAM_IDPROP_TRIGGER_MODE                                =_int32(0x00100210)
    DCAM_IDPROP_TRIGGERPOLARITY                             =_int32(0x00100220)
    DCAM_IDPROP_TRIGGER_CONNECTOR                           =_int32(0x00100230)
    DCAM_IDPROP_TRIGGERTIMES                                =_int32(0x00100240)
    DCAM_IDPROP_TRIGGERDELAY                                =_int32(0x00100260)
    DCAM_IDPROP_INTERNALTRIGGER_HANDLING                    =_int32(0x00100270)
    DCAM_IDPROP_TRIGGERMULTIFRAME_COUNT                     =_int32(0x00100280)
    DCAM_IDPROP_SYNCREADOUT_SYSTEMBLANK                     =_int32(0x00100290)
    DCAM_IDPROP_TRIGGERENABLE_ACTIVE                        =_int32(0x00100410)
    DCAM_IDPROP_TRIGGERENABLE_POLARITY                      =_int32(0x00100420)
    DCAM_IDPROP_TRIGGERNUMBER_FORFIRSTIMAGE                 =_int32(0x00100810)
    DCAM_IDPROP_TRIGGERNUMBER_FORNEXTIMAGE                  =_int32(0x00100820)
    DCAM_IDPROP_BUS_SPEED                                   =_int32(0x00180110)
    DCAM_IDPROP_NUMBEROF_OUTPUTTRIGGERCONNECTOR             =_int32(0x001C0010)
    DCAM_IDPROP_OUTPUTTRIGGER_CHANNELSYNC                   =_int32(0x001C0030)
    DCAM_IDPROP_OUTPUTTRIGGER_PROGRAMABLESTART              =_int32(0x001C0050)
    DCAM_IDPROP_OUTPUTTRIGGER_SOURCE                        =_int32(0x001C0110)
    DCAM_IDPROP_OUTPUTTRIGGER_POLARITY                      =_int32(0x001C0120)
    DCAM_IDPROP_OUTPUTTRIGGER_ACTIVE                        =_int32(0x001C0130)
    DCAM_IDPROP_OUTPUTTRIGGER_DELAY                         =_int32(0x001C0140)
    DCAM_IDPROP_OUTPUTTRIGGER_PERIOD                        =_int32(0x001C0150)
    DCAM_IDPROP_OUTPUTTRIGGER_KIND                          =_int32(0x001C0160)
    DCAM_IDPROP_OUTPUTTRIGGER_BASESENSOR                    =_int32(0x001C0170)
    DCAM_IDPROP_OUTPUTTRIGGER_PREHSYNCCOUNT                 =_int32(0x001C0190)
    DCAM_IDPROP__OUTPUTTRIGGER                              =_int32(0x00000100)
    DCAM_IDPROP_MASTERPULSE_MODE                            =_int32(0x001E0020)
    DCAM_IDPROP_MASTERPULSE_TRIGGERSOURCE                   =_int32(0x001E0030)
    DCAM_IDPROP_MASTERPULSE_INTERVAL                        =_int32(0x001E0040)
    DCAM_IDPROP_MASTERPULSE_BURSTTIMES                      =_int32(0x001E0050)
    DCAM_IDPROP_EXPOSURETIME                                =_int32(0x001F0110)
    DCAM_IDPROP_SYNC_MULTIVIEWEXPOSURE                      =_int32(0x001F0120)
    DCAM_IDPROP_EXPOSURETIME_CONTROL                        =_int32(0x001F0130)
    DCAM_IDPROP_TRIGGER_FIRSTEXPOSURE                       =_int32(0x001F0200)
    DCAM_IDPROP_TRIGGER_GLOBALEXPOSURE                      =_int32(0x001F0300)
    DCAM_IDPROP_FIRSTTRIGGER_BEHAVIOR                       =_int32(0x001F0310)
    DCAM_IDPROP_MULTIFRAME_EXPOSURE                         =_int32(0x001F1000)
    DCAM_IDPROP__MULTIFRAME                                 =_int32(0x00000010)
    DCAM_IDPROP_LIGHTMODE                                   =_int32(0x00200110)
    DCAM_IDPROP_SENSITIVITYMODE                             =_int32(0x00200210)
    DCAM_IDPROP_SENSITIVITY                                 =_int32(0x00200220)
    DCAM_IDPROP_SENSITIVITY2_MODE                           =_int32(0x00200230)
    DCAM_IDPROP_SENSITIVITY2                                =_int32(0x00200240)
    DCAM_IDPROP_DIRECTEMGAIN_MODE                           =_int32(0x00200250)
    DCAM_IDPROP_EMGAINWARNING_STATUS                        =_int32(0x00200260)
    DCAM_IDPROP_EMGAINWARNING_LEVEL                         =_int32(0x00200270)
    DCAM_IDPROP_EMGAINWARNING_ALARM                         =_int32(0x00200280)
    DCAM_IDPROP_EMGAINPROTECT_MODE                          =_int32(0x00200290)
    DCAM_IDPROP_EMGAINPROTECT_AFTERFRAMES                   =_int32(0x002002A0)
    DCAM_IDPROP_MEASURED_SENSITIVITY                        =_int32(0x002002B0)
    DCAM_IDPROP_PHOTONIMAGINGMODE                           =_int32(0x002002F0)
    DCAM_IDPROP_SENSORTEMPERATURE                           =_int32(0x00200310)
    DCAM_IDPROP_SENSORCOOLER                                =_int32(0x00200320)
    DCAM_IDPROP_SENSORTEMPERATURETARGET                     =_int32(0x00200330)
    DCAM_IDPROP_SENSORCOOLERSTATUS                          =_int32(0x00200340)
    DCAM_IDPROP_SENSORCOOLERFAN                             =_int32(0x00200350)
    DCAM_IDPROP_SENSORTEMPERATURE_AVE                       =_int32(0x00200360)
    DCAM_IDPROP_SENSORTEMPERATURE_MIN                       =_int32(0x00200370)
    DCAM_IDPROP_SENSORTEMPERATURE_MAX                       =_int32(0x00200380)
    DCAM_IDPROP_SENSORTEMPERATURE_STATUS                    =_int32(0x00200390)
    DCAM_IDPROP_SENSORTEMPERATURE_PROTECT                   =_int32(0x00200400)
    DCAM_IDPROP_MECHANICALSHUTTER                           =_int32(0x00200410)
    DCAM_IDPROP_CONTRASTGAIN                                =_int32(0x00300120)
    DCAM_IDPROP_CONTRASTOFFSET                              =_int32(0x00300130)
    DCAM_IDPROP_HIGHDYNAMICRANGE_MODE                       =_int32(0x00300150)
    DCAM_IDPROP_DIRECTGAIN_MODE                             =_int32(0x00300160)
    DCAM_IDPROP_REALTIMEGAINCORRECT_MODE                    =_int32(0x00300170)
    DCAM_IDPROP_REALTIMEGAINCORRECT_LEVEL                   =_int32(0x00300180)
    DCAM_IDPROP_REALTIMEGAINCORRECT_INTERVAL                =_int32(0x00300190)
    DCAM_IDPROP_VIVIDCOLOR                                  =_int32(0x00300200)
    DCAM_IDPROP_WHITEBALANCEMODE                            =_int32(0x00300210)
    DCAM_IDPROP_WHITEBALANCETEMPERATURE                     =_int32(0x00300220)
    DCAM_IDPROP_WHITEBALANCEUSERPRESET                      =_int32(0x00300230)
    DCAM_IDPROP_INTERFRAMEALU_ENABLE                        =_int32(0x00380010)
    DCAM_IDPROP_RECURSIVEFILTER                             =_int32(0x00380110)
    DCAM_IDPROP_RECURSIVEFILTERFRAMES                       =_int32(0x00380120)
    DCAM_IDPROP_SPOTNOISEREDUCER                            =_int32(0x00380130)
    DCAM_IDPROP_SUBTRACT                                    =_int32(0x00380210)
    DCAM_IDPROP_SUBTRACTIMAGEMEMORY                         =_int32(0x00380220)
    DCAM_IDPROP_STORESUBTRACTIMAGETOMEMORY                  =_int32(0x00380230)
    DCAM_IDPROP_SUBTRACTOFFSET                              =_int32(0x00380240)
    DCAM_IDPROP_DARKCALIB_STABLEMAXINTENSITY                =_int32(0x00380250)
    DCAM_IDPROP_SUBTRACT_DATASTATUS                         =_int32(0x003802F0)
    DCAM_IDPROP_SHADINGCALIB_DATASTATUS                     =_int32(0x00380300)
    DCAM_IDPROP_SHADINGCORRECTION                           =_int32(0x00380310)
    DCAM_IDPROP_SHADINGCALIBDATAMEMORY                      =_int32(0x00380320)
    DCAM_IDPROP_STORESHADINGCALIBDATATOMEMORY               =_int32(0x00380330)
    DCAM_IDPROP_SHADINGCALIB_METHOD                         =_int32(0x00380340)
    DCAM_IDPROP_SHADINGCALIB_TARGET                         =_int32(0x00380350)
    DCAM_IDPROP_SHADINGCALIB_STABLEMININTENSITY             =_int32(0x00380360)
    DCAM_IDPROP_SHADINGCALIB_SAMPLES                        =_int32(0x00380370)
    DCAM_IDPROP_SHADINGCALIB_STABLESAMPLES                  =_int32(0x00380380)
    DCAM_IDPROP_SHADINGCALIB_STABLEMAXERRORPERCENT          =_int32(0x00380390)
    DCAM_IDPROP_FRAMEAVERAGINGMODE                          =_int32(0x003803A0)
    DCAM_IDPROP_FRAMEAVERAGINGFRAMES                        =_int32(0x003803B0)
    DCAM_IDPROP_DARKCALIB_STABLESAMPLES                     =_int32(0x003803C0)
    DCAM_IDPROP_DARKCALIB_SAMPLES                           =_int32(0x003803D0)
    DCAM_IDPROP_DARKCALIB_TARGET                            =_int32(0x003803E0)
    DCAM_IDPROP_CAPTUREMODE                                 =_int32(0x00380410)
    DCAM_IDPROP_INTENSITYLUT_MODE                           =_int32(0x00380510)
    DCAM_IDPROP_INTENSITYLUT_PAGE                           =_int32(0x00380520)
    DCAM_IDPROP_INTENSITYLUT_WHITECLIP                      =_int32(0x00380530)
    DCAM_IDPROP_INTENSITYLUT_BLACKCLIP                      =_int32(0x00380540)
    DCAM_IDPROP_SENSORGAPCORRECT_MODE                       =_int32(0x00380620)
    DCAM_IDPROP_TAPGAINCALIB_METHOD                         =_int32(0x00380F10)
    DCAM_IDPROP_TAPCALIB_BASEDATAMEMORY                     =_int32(0x00380F20)
    DCAM_IDPROP_STORETAPCALIBDATATOMEMORY                   =_int32(0x00380F30)
    DCAM_IDPROP_TAPCALIBDATAMEMORY                          =_int32(0x00380F40)
    DCAM_IDPROP_NUMBEROF_TAPCALIB                           =_int32(0x00380FF0)
    DCAM_IDPROP_TAPCALIB_GAIN                               =_int32(0x00381000)
    DCAM_IDPROP__TAPCALIB                                   =_int32(0x00000010)
    DCAM_IDPROP_READOUTSPEED                                =_int32(0x00400110)
    DCAM_IDPROP_READOUT_DIRECTION                           =_int32(0x00400130)
    DCAM_IDPROP_READOUT_UNIT                                =_int32(0x00400140)
    DCAM_IDPROP_SENSORMODE                                  =_int32(0x00400210)
    DCAM_IDPROP_SENSORMODE_SLITHEIGHT                       =_int32(0x00400220)
    DCAM_IDPROP_SENSORMODE_LINEBUNDLEHEIGHT                 =_int32(0x00400250)
    DCAM_IDPROP_SENSORMODE_FRAMINGHEIGHT                    =_int32(0x00400260)
    DCAM_IDPROP_SENSORMODE_PANORAMICSTARTV                  =_int32(0x00400280)
    DCAM_IDPROP_CCDMODE                                     =_int32(0x00400310)
    DCAM_IDPROP_EMCCD_CALIBRATIONMODE                       =_int32(0x00400320)
    DCAM_IDPROP_CMOSMODE                                    =_int32(0x00400350)
    DCAM_IDPROP_OUTPUT_INTENSITY                            =_int32(0x00400410)
    DCAM_IDPROP_OUTPUTDATA_ORIENTATION                      =_int32(0x00400420)
    DCAM_IDPROP_OUTPUTDATA_ROTATION                         =_int32(0x00400430)
    DCAM_IDPROP_OUTPUTDATA_OPERATION                        =_int32(0x00400440)
    DCAM_IDPROP_TESTPATTERN_KIND                            =_int32(0x00400510)
    DCAM_IDPROP_TESTPATTERN_OPTION                          =_int32(0x00400520)
    DCAM_IDPROP_EXTRACTION_MODE                             =_int32(0x00400620)
    DCAM_IDPROP_BINNING                                     =_int32(0x00401110)
    DCAM_IDPROP_BINNING_INDEPENDENT                         =_int32(0x00401120)
    DCAM_IDPROP_BINNING_HORZ                                =_int32(0x00401130)
    DCAM_IDPROP_BINNING_VERT                                =_int32(0x00401140)
    DCAM_IDPROP_SUBARRAYHPOS                                =_int32(0x00402110)
    DCAM_IDPROP_SUBARRAYHSIZE                               =_int32(0x00402120)
    DCAM_IDPROP_SUBARRAYVPOS                                =_int32(0x00402130)
    DCAM_IDPROP_SUBARRAYVSIZE                               =_int32(0x00402140)
    DCAM_IDPROP_SUBARRAYMODE                                =_int32(0x00402150)
    DCAM_IDPROP_DIGITALBINNING_METHOD                       =_int32(0x00402160)
    DCAM_IDPROP_DIGITALBINNING_HORZ                         =_int32(0x00402170)
    DCAM_IDPROP_DIGITALBINNING_VERT                         =_int32(0x00402180)
    DCAM_IDPROP_TIMING_READOUTTIME                          =_int32(0x00403010)
    DCAM_IDPROP_TIMING_CYCLICTRIGGERPERIOD                  =_int32(0x00403020)
    DCAM_IDPROP_TIMING_MINTRIGGERBLANKING                   =_int32(0x00403030)
    DCAM_IDPROP_TIMING_MINTRIGGERINTERVAL                   =_int32(0x00403050)
    DCAM_IDPROP_TIMING_EXPOSURE                             =_int32(0x00403060)
    DCAM_IDPROP_TIMING_INVALIDEXPOSUREPERIOD                =_int32(0x00403070)
    DCAM_IDPROP_TIMING_FRAMESKIPNUMBER                      =_int32(0x00403080)
    DCAM_IDPROP_TIMING_GLOBALEXPOSUREDELAY                  =_int32(0x00403090)
    DCAM_IDPROP_INTERNALFRAMERATE                           =_int32(0x00403810)
    DCAM_IDPROP_INTERNAL_FRAMEINTERVAL                      =_int32(0x00403820)
    DCAM_IDPROP_INTERNALLINERATE                            =_int32(0x00403830)
    DCAM_IDPROP_INTERNALLINESPEED                           =_int32(0x00403840)
    DCAM_IDPROP_INTERNAL_LINEINTERVAL                       =_int32(0x00403850)
    DCAM_IDPROP_TIMESTAMP_PRODUCER                          =_int32(0x00410A10)
    DCAM_IDPROP_FRAMESTAMP_PRODUCER                         =_int32(0x00410A20)
    DCAM_IDPROP_COLORTYPE                                   =_int32(0x00420120)
    DCAM_IDPROP_BITSPERCHANNEL                              =_int32(0x00420130)
    DCAM_IDPROP_NUMBEROF_CHANNEL                            =_int32(0x00420180)
    DCAM_IDPROP_ACTIVE_CHANNELINDEX                         =_int32(0x00420190)
    DCAM_IDPROP_NUMBEROF_VIEW                               =_int32(0x004201C0)
    DCAM_IDPROP_ACTIVE_VIEWINDEX                            =_int32(0x004201D0)
    DCAM_IDPROP_IMAGE_WIDTH                                 =_int32(0x00420210)
    DCAM_IDPROP_IMAGE_HEIGHT                                =_int32(0x00420220)
    DCAM_IDPROP_IMAGE_ROWBYTES                              =_int32(0x00420230)
    DCAM_IDPROP_IMAGE_FRAMEBYTES                            =_int32(0x00420240)
    DCAM_IDPROP_IMAGE_TOPOFFSETBYTES                        =_int32(0x00420250)
    DCAM_IDPROP_IMAGE_PIXELTYPE                             =_int32(0x00420270)
    DCAM_IDPROP_IMAGE_CAMERASTAMP                           =_int32(0x00420300)
    DCAM_IDPROP_BUFFER_ROWBYTES                             =_int32(0x00420330)
    DCAM_IDPROP_BUFFER_FRAMEBYTES                           =_int32(0x00420340)
    DCAM_IDPROP_BUFFER_TOPOFFSETBYTES                       =_int32(0x00420350)
    DCAM_IDPROP_BUFFER_PIXELTYPE                            =_int32(0x00420360)
    DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE                    =_int32(0x00420410)
    DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION                 =_int32(0x00420420)
    DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME                   =_int32(0x00420430)
    DCAM_IDPROP_IMAGEDETECTOR_PIXELWIDTH                    =_int32(0x00420810)
    DCAM_IDPROP_IMAGEDETECTOR_PIXELHEIGHT                   =_int32(0x00420820)
    DCAM_IDPROP_FRAMEBUNDLE_MODE                            =_int32(0x00421010)
    DCAM_IDPROP_FRAMEBUNDLE_NUMBER                          =_int32(0x00421020)
    DCAM_IDPROP_FRAMEBUNDLE_ROWBYTES                        =_int32(0x00421030)
    DCAM_IDPROP_FRAMEBUNDLE_FRAMESTEPBYTES                  =_int32(0x00421040)
    DCAM_IDPROP_NUMBEROF_PARTIALAREA                        =_int32(0x00430010)
    DCAM_IDPROP_PARTIALAREA_HPOS                            =_int32(0x00431000)
    DCAM_IDPROP_PARTIALAREA_HSIZE                           =_int32(0x00432000)
    DCAM_IDPROP_PARTIALAREA_VPOS                            =_int32(0x00433000)
    DCAM_IDPROP_PARTIALAREA_VSIZE                           =_int32(0x00434000)
    DCAM_IDPROP__PARTIALAREA                                =_int32(0x00000010)
    DCAM_IDPROP_NUMBEROF_MULTILINE                          =_int32(0x0044F010)
    DCAM_IDPROP_MULTILINE_VPOS                              =_int32(0x00450000)
    DCAM_IDPROP_MULTILINE_VSIZE                             =_int32(0x00460000)
    DCAM_IDPROP__MULTILINE                                  =_int32(0x00000010)
    DCAM_IDPROP_DEFECTCORRECT_MODE                          =_int32(0x00470010)
    DCAM_IDPROP_NUMBEROF_DEFECTCORRECT                      =_int32(0x00470020)
    DCAM_IDPROP_HOTPIXELCORRECT_LEVEL                       =_int32(0x00470030)
    DCAM_IDPROP_DEFECTCORRECT_HPOS                          =_int32(0x00471000)
    DCAM_IDPROP_DEFECTCORRECT_METHOD                        =_int32(0x00473000)
    DCAM_IDPROP__DEFECTCORRECT                              =_int32(0x00000010)
    DCAM_IDPROP_PACECONTROL_MODE                            =_int32(0x004A0110)
    DCAM_IDPROP_NUMBEROF_PACECONTROL                        =_int32(0x004A0120)
    DCAM_IDPROP_PACECONTROL_COUNT                           =_int32(0x004A1000)
    DCAM_IDPROP_PACECONTROL_INTERVAL                        =_int32(0x004A2000)
    DCAM_IDPROP__PACECONTROL                                =_int32(0x00000010)
    DCAM_IDPROP_CALIBREGION_MODE                            =_int32(0x00402410)
    DCAM_IDPROP_NUMBEROF_CALIBREGION                        =_int32(0x00402420)
    DCAM_IDPROP_CALIBREGION_HPOS                            =_int32(0x004B0000)
    DCAM_IDPROP_CALIBREGION_HSIZE                           =_int32(0x004B1000)
    DCAM_IDPROP__CALIBREGION                                =_int32(0x00000010)
    DCAM_IDPROP_MASKREGION_MODE                             =_int32(0x00402510)
    DCAM_IDPROP_NUMBEROF_MASKREGION                         =_int32(0x00402520)
    DCAM_IDPROP_MASKREGION_HPOS                             =_int32(0x004C0000)
    DCAM_IDPROP_MASKREGION_HSIZE                            =_int32(0x004C1000)
    DCAM_IDPROP__MASKREGION                                 =_int32(0x00000010)
    DCAM_IDPROP_CAMERASTATUS_INTENSITY                      =_int32(0x004D1110)
    DCAM_IDPROP_CAMERASTATUS_INPUTTRIGGER                   =_int32(0x004D1120)
    DCAM_IDPROP_CAMERASTATUS_CALIBRATION                    =_int32(0x004D1130)
    DCAM_IDPROP_BACKFOCUSPOS_TARGET                         =_int32(0x00804010)
    DCAM_IDPROP_BACKFOCUSPOS_CURRENT                        =_int32(0x00804020)
    DCAM_IDPROP_BACKFOCUSPOS_LOADFROMMEMORY                 =_int32(0x00804050)
    DCAM_IDPROP_BACKFOCUSPOS_STORETOMEMORY                  =_int32(0x00804060)
    DCAM_IDPROP_SYSTEM_ALIVE                                =_int32(0x00FF0010)
    DCAM_IDPROP_CONVERSIONFACTOR_COEFF                      =_int32(0x00FFE010)
    DCAM_IDPROP_CONVERSIONFACTOR_OFFSET                     =_int32(0x00FFE020)
    DCAM_IDPROP__RATIO                                      =_int32(0x80000000)
    DCAM_IDPROP_EXPOSURETIME_RATIO                          =_int32((DCAM_IDPROP__RATIO|DCAM_IDPROP_EXPOSURETIME))
    DCAM_IDPROP_CONTRASTGAIN_RATIO                          =_int32((DCAM_IDPROP__RATIO|DCAM_IDPROP_CONTRASTGAIN))
    DCAM_IDPROP__CHANNEL                                    =_int32(0x00000001)
    DCAM_IDPROP__VIEW                                       =_int32(0x01000000)
    DCAM_IDPROP__MASK_CHANNEL                               =_int32(0x0000000F)
    DCAM_IDPROP__MASK_VIEW                                  =_int32(0x0F000000)
    DCAM_IDPROP__MASK_BODY                                  =_int32(0x00FFFFF0)
    DCAMPROP_ATTR_REMOTE_VALUE                              =_int32(DCAMPROPATTRIBUTE.DCAMPROP_ATTR_VOLATILE.value)
    DCAMPROP_PHOTONIMAGING_MODE__0                          =_int32(DCAMPROPMODEVALUE.DCAMPROP_PHOTONIMAGINGMODE__0.value)
    DCAMPROP_PHOTONIMAGING_MODE__1                          =_int32(DCAMPROPMODEVALUE.DCAMPROP_PHOTONIMAGINGMODE__1.value)
    DCAMPROP_PHOTONIMAGING_MODE__2                          =_int32(DCAMPROPMODEVALUE.DCAMPROP_PHOTONIMAGINGMODE__2.value)
    DCAM_IDPROP_SCAN_MODE                                   =_int32(DCAM_IDPROP_SENSORMODE)
    DCAM_IDPROP_SLITSCAN_HEIGHT                             =_int32(DCAM_IDPROP_SENSORMODE_SLITHEIGHT)
    DCAM_IDPROP_FRAME_BUNDLEMODE                            =_int32(DCAM_IDPROP_FRAMEBUNDLE_MODE)
    DCAM_IDPROP_FRAME_BUNDLENUMBER                          =_int32(DCAM_IDPROP_FRAMEBUNDLE_NUMBER)
    DCAM_IDPROP_FRAME_BUNDLEROWBYTES                        =_int32(DCAM_IDPROP_FRAMEBUNDLE_ROWBYTES)
    DCAM_IDPROP_ACTIVE_VIEW                                 =_int32(DCAM_IDPROP_ACTIVE_VIEWINDEX)
    DCAM_IDPROP_ACTIVE_VIEWINDEXES                          =_int32(DCAM_IDPROP_ACTIVE_VIEWINDEX)
    DCAM_IDPROP_SYNCMULTIVIEWREADOUT                        =_int32(DCAM_IDPROP_SYNC_MULTIVIEWEXPOSURE)
    DCAM_IDPROP_SYNC_MINTRIGGERBLANKING                     =_int32(DCAM_IDPROP_TIMING_MINTRIGGERBLANKING)
    DCAM_IDPROP_SYNC_FRAMEINTERVAL                          =_int32(DCAM_IDPROP_INTERNAL_FRAMEINTERVAL)
    DCAM_IDPROP_LOWLIGHTSENSITIVITY                         =_int32(DCAM_IDPROP_PHOTONIMAGINGMODE)
    DCAM_IDPROP_DARKCALIB_MAXIMUMINTENSITY                  =_int32(DCAM_IDPROP_DARKCALIB_STABLEMAXINTENSITY)
    DCAM_IDPROP_SUBTRACT_SAMPLINGCOUNT                      =_int32(DCAM_IDPROP_DARKCALIB_SAMPLES)
    DCAM_IDPROP_SHADINGCALIB_MINIMUMINTENSITY               =_int32(DCAM_IDPROP_SHADINGCALIB_STABLEMININTENSITY)
    DCAM_IDPROP_SHADINGCALIB_STABLEFRAMECOUNT               =_int32(DCAM_IDPROP_SHADINGCALIB_STABLESAMPLES)
    DCAM_IDPROP_SHADINGCALIB_INTENSITYMAXIMUMERRORPERCENTAGE=_int32(DCAM_IDPROP_SHADINGCALIB_STABLEMAXERRORPERCENT)
    DCAM_IDPROP_SHADINGCALIB_AVERAGEFRAMECOUNT              =_int32(DCAM_IDPROP_SHADINGCALIB_SAMPLES)
    _end_of_dcam_idprop                                     =_int32(0)
dDCAMIDPROP={a.name:a.value for a in DCAMIDPROP}
drDCAMIDPROP={a.value:a.name for a in DCAMIDPROP}





##### FUNCTION DEFINITIONS #####





def addfunc(lib, name, restype, argtypes=None, argnames=None):
    if getattr(lib,name,None) is None:
        setattr(lib,name,None)
    else:
        func=getattr(lib,name)
        func.restype=restype
        if argtypes is not None:
            func.argtypes=argtypes
        if argnames is not None:
            func.argnames=argnames

def define_functions(lib):
    pass


