📄 cdtype.h
字号:
#ifndef _CD_TYPE_H_
#define _CD_TYPE_H_
#ifdef _MSC_VER
# if 900 <= _MSC_VER
# pragma message( "push, _CD_TYPE_H_PACK_, 1" )
# pragma pack( push, _CD_TYPE_H_PACK_, 1 )
# pragma warning( disable : 4250 4355 4244 4005)
# endif /* 900 <= _MSC_VER */
#elif defined __WATCOMC__
#pragma pack(__push,1);
#endif
#ifdef macintosh
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#endif
#endif
/****************************************************************************
****************************************************************************
* Canon Digital Camera SDK : Data Type Definitions *
****************************************************************************
****************************************************************************/
/* Basic Data Types */
typedef unsigned char cdUInt8;
typedef char cdInt8;
typedef char cdChar;
#ifndef macintosh
typedef unsigned short cdWChar;
#endif
typedef unsigned short cdUInt16;
typedef short cdInt16;
typedef unsigned long cdUInt32;
typedef long cdInt32;
typedef float cdFloat32;
#ifdef macintosh
typedef UInt64 cdUInt64;
#else
typedef unsigned __int64 cdUInt64;
#endif
typedef cdUInt16 cdBoolean;
typedef void cdVoid;
typedef cdUInt32 cdTime;
typedef cdUInt32 cdError;
typedef cdUInt32 cdEventID;
typedef cdUInt32 cdReleaseEventID;
typedef cdUInt32 cdContext;
#ifdef macintosh
typedef FSSpec cdFSSpec;
#endif
/* Handles */
#ifdef macintosh
typedef cdUInt32 cdHWND;
#else
typedef HWND cdHWND;
#endif
typedef cdUInt32 cdHandle;
typedef cdHandle cdHSource;
typedef cdHSource cdHLocalHost; /* Handle for local strage */
typedef cdHandle cdHItem;
typedef cdHItem cdHVolume;
typedef cdHItem cdHFolder;
typedef cdHItem cdHImageItem;
typedef cdHandle cdHImageData;
typedef cdHandle cdHEnum;
typedef cdHandle cdHRAWData;
/* Strings */
typedef cdChar cdStr31[32];
typedef cdChar cdStr63[64];
typedef cdChar cdStr255[256];
/* Rationals */
typedef struct{
cdUInt32 Numerator;
cdUInt32 Denominator;
}cdURational;
typedef struct{
cdInt32 Numerator;
cdInt32 Denominator;
}cdRational;
#ifdef macintosh
#define cdSTDCALL
#else
#define cdSTDCALL __stdcall
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef CDSDK_EXPORT
#define cdCAPI cdError __declspec(dllexport) cdSTDCALL
#else
#define cdCAPI cdError __declspec(dllimport) cdSTDCALL
#endif
#ifdef __cplusplus
}
#endif
/****************************************************************************
****************************************************************************
* Canon Digital Camera SDK : Constants *
****************************************************************************
****************************************************************************/
/* Max */
#define cdMAX_VOL 64
#define cdMAX_PATH 512
#define cdANY 1
#define cdMAX_TRANSFER_PATH_LENGTHT 2 /*(32)*/
#define CD_MAX_VOL cdMAX_VOL
#define CD_MAX_PATH cdMAX_PATH
typedef cdChar cdVolName[cdMAX_VOL];
/* cdSourceType
Type of the sorce device */
typedef cdUInt32 cdSourceType;
#define cdSRC_TYPE_INVALID ((cdSourceType)0)
#define cdSRC_TYPE_HOST ((cdSourceType)1)
#define cdSRC_TYPE_CAMERA ((cdSourceType)2)
/* cdPortType
Type of the port. */
typedef cdUInt32 cdPortType;
#define cdPORT_TYPE_NO_PORT ((cdPortType )0)
#ifdef macintosh
#define cdPORT_TYPE_USB ((cdPortType )1)
#define cdPORT_TYPE_IEEE1394 ((cdPortType )2)
#else
#define cdPORT_TYPE_STI ((cdPortType )3)
#define cdPORT_TYPE_WIA ((cdPortType )4)
#endif
#define cdPORT_TYPE_ANY ((cdPortType )0x7FFFFFFF)
/* cdDevDataType */
typedef cdUInt32 cdDevDataType;
#define cdDEV_DATA_TYPE_UNKNOWN 0xffffffff
#define cdDEV_DATA_TYPE_UNDECIDED 0x00000000
#define cdDEV_DATA_TYPE_1 0x00000001
#define cdDEV_DATA_TYPE_2 0x00000002
/* cdPortSelector
Port selection type used by CDGetPreviousDeviceInfo() */
typedef cdUInt16 cdPortSelector;
#define cdPORT_SELECT_DEFAULT ((cdPortSelector)1)
#define cdPORT_SELECT_LAST_CHOICE ((cdPortSelector)3)
/* cdModelID
4 character camera model identifier */
typedef cdUInt32 cdModelID ;
/* cdVolHWType
The hardware type of a file system volume*/
typedef cdUInt16 cdVolHWType;
#define cdHW_TYPE_RAM 0x0001
#define cdHW_TYPE_DISK 0x0002
#define cdHW_TYPE_CDROM 0x0003
#define cdHW_TYPE_REMOTE 0x0004
#define cdHW_TYPE_ROM 0x0005
#define cdHW_TYPE_INVALID 0xFFFF
/* cdImageFormat
Image data format */
typedef cdUInt16 cdImageFormat;
#define cdFORMAT_UNKNOWN 0x0000
#define cdFORMAT_JPEG 0x0001
#define cdFORMAT_JPEG_DCF 0x0002
#define cdFORMAT_JPEG_DCF_THUMB 0x0003
#define cdFORMAT_TIFF 0x0004
#define cdFORMAT_TIFF_16 0x0005
#define cdFORMAT_TIFF_DCF 0x0006
#define cdFORMAT_PIXMAP 0x0007
#define cdFORMAT_PIXMAP_16 0x0008
#define cdFORMAT_OPENDML 0x0009
#define cdFORMAT_WAV 0x000a
#define cdFORMAT_DIB 0x000b
#define cdFORMAT_BMP_TOPDOWN 0x000c
#define cdFORMAT_RAW 0x0101
#define cdFORMAT_RAW_SPATIAL 0x0102
#define cdFORMAT_RAW_CR2 0x000f
/* cdCompQuality
Image data quality. */
typedef cdUInt16 cdCompQuality;
#define cdCOMP_QUALITY_UNKNOWN 0xffff
#define cdCOMP_QUALITY_ECONOMY 0x0001
#define cdCOMP_QUALITY_NORMAL 0x0002
#define cdCOMP_QUALITY_FINE 0x0003
#define cdCOMP_QUALITY_LOSSLESS 0x0004
#define cdCOMP_QUALITY_RAW 0x0004
#define cdCOMP_QUALITY_SUPERFINE 0x0005
#define MOVIE_MASK 0x000f
#define MOVIE_COMP_QUALITY(q) (q&MOVIE_MASK)
#define SUB_JPEG_MASK 0xff00
#define SUB_JPEG_COMP_QUALITY(q) ((q&SUB_JPEG_MASK)>>8)
/* cdImageSize
Image size */
typedef cdUInt16 cdImageSize ;
#define cdIMAGE_SIZE_UNKNOWN 0xFFFF
#define cdIMAGE_SIZE_LARGE 0x0000
#define cdIMAGE_SIZE_MEDIUM 0x0001
#define cdIMAGE_SIZE_SMALL 0x0002
#define cdIMAGE_SIZE_MEDIUM1 0x0005
#define cdIMAGE_SIZE_MEDIUM2 0x0006
#define cdIMAGE_SIZE_MEDIUM3 0x0007
#define SUB_JPEG_SIZE(s) ((s&SUB_JPEG_MASK)>>8)
#define MOVIE_SIZE(s) (s&MOVIE_MASK)
/* cdAttribute
Attributes for data. */
typedef cdUInt32 cdAttribute ;
#define cdATTRIB_READ 0x00000001
#define cdATTRIB_WRITE 0x00000002
#define cdATTRIB_READ_WRITE (cdATTRIB_READ|cdATTRIB_WRITE)
#define cdATTRIB_HIDDEN 0x00000010
#define cdATTRIB_ARCHIVE 0x00000020
#define cdATTRIB_SYSTEM 0x00000040
/* cdItemType
Type of the Item. */
typedef cdUInt32 cdItemType ;
#define cdITEM_TYPE_SUB_FOLDER 0x00000001
#define cdITEM_TYPE_IMAGE_ITEM 0x00000002
#define cdITEM_TYPE_FILE 0x00000003
/* cdDataType
Type of the image data. */
typedef cdUInt32 cdDataType;
#define cdDATA_TYPE_THUMBNAIL 0x00000010 /* Thumbnail image data */
#define cdDATA_TYPE_PICTURE 0x00000020 /* Picture (Full resolution image) data */
#define cdDATA_TYPE_SOUND 0x00000030 /* Sound data */
#define cdDATA_TYPE_MOVIE 0x00000040 /* Movie data */
#define cdDATA_TYPE_PLUS_JPEG 0x00000050 /* +Jpg image data */
#define cdDATA_TYPE_PREVIEW_JPEG 0x00000060 /* Jpeg data included in RAW file */
/* cdAddPictureFlags
*/
typedef cdUInt32 cdAddPictureFlags;
#define cdADD_FLAG_COPY 0x00010000
/* cdEnumItemOption
Options for enumeration of items. */
typedef cdUInt32 cdEnumItemOption;
#define cdENUM_HAS_THUMBNAIL 0x00000001 /* Not enumerate items which don't have thumbnail image. */
#define cdENUM_MOVIE_TOO 0x00000002 /* Enumerate items which have movies, too. */
#define cdENUM_MOVIE_ONLY 0x00000004 /* Enumerate movie items only. */
#define cdENUM_NAME_CHECK_OP_1 0x00000008 /* Enumerate same file name files as one item. */
#define cdENUM_ALL_ITEM 0x00010000 /* Enumerate the item which is not image item.*/
/* cdProgressOption
Options for progress callbadk functions. */
typedef cdUInt32 cdProgressOption;
#define cdPROG_NO_REPORT 0x00000001 /* Not called callback function. */
#define cdPROG_REPORT_DONE 0x00000002 /* Called only when operation is finished */
#define cdPROG_REPORT_PERIODICALLY 0x00000003 /* Called periodically during the operation */
/* cdProgressStatus
Status of the current operation during progress callback function.*/
typedef cdUInt32 cdProgressStatus;
#define cdSTATUS_TRANSFER 0x00000001 /* Status is data transfer between camera and host computer. */
#define cdSTATUS_CONVERT 0x00000002 /* Status is image data converting. */
#define cdSTATUS_DEVELOPMENT 0x00000003 /* Status is image data development. */
/* cdSlideShowCap
Capability of slide show function of camera.*/
typedef cdUInt32 cdSlideShowCap;
#define cdSLIDE_SHOW_CAP_CANON_FORMAT 0x00000001 /* Supports the slide show file of Canon format. */
#define cdSLIDE_SHOW_CAP_DPOF 0x00000002 /* Supports the DPOF slide show file. */
/* cdReleaseControlCap
Capability of remote release control function of the camera.
OR value of the followings. */
typedef cdUInt32 cdReleaseControlCap;
#define cdRELEASE_CONTROL_CAP_SUPPORT 0x40000000 /* Supports the remote release control functions. */
#define cdRELEASE_CONTROL_CAP_ZOOM 0x00000001 /* Supports the zoom control. */
#define cdRELEASE_CONTROL_CAP_SETPRM 0x00000002 /* Supports the setting of the shooting parameters. */
#define cdRELEASE_CONTROL_CAP_VIEWFINDER 0x00000004 /* Supports the viewfinder functions. */
#define cdRELEASE_CONTROL_CAP_ABORT_VIEWFINDER 0x00000008 /* Needs to terminate the Viewfinder mode when the CDRelease() function is executed. */
#define cdRELEASE_CONTROL_CAP_AF_LOCK 0x00000010 /* Supports the AF lock/unlock functions. */
typedef cdReleaseControlCap cdReleaseControlFaculty;
/*cdParseFaculty
*/
typedef cdUInt32 cdParseFaculty;
#define cdPARSE_SET_PROP_IN_CAMERA 0x00000001 /* Supports the modifing the property of the item in camera.*/
/* Values of cdIMG_PROP_MLWEI_MODE image property
*/
#define cdMLWEI_MODE_CENTER (0)
#define cdMLWEI_MODE_SPOT (1)
#define cdMLWEI_MODE_AVERAGE (2)
#define cdMLWEI_MODE_ESTIMAT (3)
#define cdMLWEI_MODE_PART (4)
#define cdMLWEI_MODE_CENTER_WEI_AVERAGE (5)
#define cdMLWEI_MODE_UNKNOWN (0xffff)
/* cdFocusMode
AF mode setting */
typedef cdUInt16 cdFocusMode;
#define cdFOCUS_MODE_SINGLE_AF (0x0000) /* Single AF */
#define cdFOCUS_MODE_CONTINUOUS_AF (0x0001) /* Continuous AF */
#define cdFOCUS_MODE_PAN_FOCUS (0x0010) /* Pan Focus */
#define cdFOCUS_MODE_ONE_SHOT_AF (0x1000) /* One-Shot AF */
#define cdFOCUS_MODE_AI_SERVO_AF (0x1001) /* AI Servo AF */
#define cdFOCUS_MODE_AI_FOCUS_AF (0x1002) /* AI Focus AF */
#define cdFOCUS_MODE_MF (0x0008) /* Manual Focus */
#define cdFOCUS_MODE_UNKNOWN (0xffff) /* unknown */
/* cdCompressionType
picture view compression type (including NONE!)*/
typedef cdUInt8 cdCompressionType;
#define cdLOSSY 1
#define cdNONE 2
#define cdLOSSLESS 3
/* cdDriveMode
*/
typedef cdUInt16 cdDriveMode;
#define cdDRIVE_MODE_UNKNOWN 0xFFFF
#define cdDRIVE_MODE_SINGLE 0x0000
#define cdDRIVE_MODE_CONT 0x0001
#define cdDRIVE_MODE_MOVIE 0x0002
#define cdDRIVE_MODE_CONT_SPEED_PRIORITY 0x0003
#define cdDRIVE_MODE_CONT_LOW 0x0004
#define cdDRIVE_MODE_CONT_HIGHT 0x0005
#define cdDRIVE_MODE_SELFTIMER 0x0010
/* cdShootingMode
*/
typedef cdUInt16 cdShootingMode;
#define cdSHOOTING_MODE_INVALID 0xFFFF
#define cdSHOOTING_MODE_AUTO 0x0000
#define cdSHOOTING_MODE_PROGRAM 0x0001
#define cdSHOOTING_MODE_TV 0x0002
#define cdSHOOTING_MODE_AV 0x0003
#define cdSHOOTING_MODE_MANUAL 0x0004
#define cdSHOOTING_MODE_A_DEP 0x0005
#define cdSHOOTING_MODE_M_DEP 0x0006
#define cdSHOOTING_MODE_BULB 0x0007
#define cdSHOOTING_MODE_MANUAL_2 0x0065
#define cdSHOOTING_MODE_FAR_SCENE 0x0066
#define cdSHOOTING_MODE_FAST_SHUTTER 0x0067
#define cdSHOOTING_MODE_SLOW_SHUTTER 0x0068
#define cdSHOOTING_MODE_NIGHT_SCENE 0x0069
#define cdSHOOTING_MODE_GRAY_SCALE 0x006a
#define cdSHOOTING_MODE_SEPIA 0x006b
#define cdSHOOTING_MODE_PORTRAIT 0x006c
#define cdSHOOTING_MODE_SPOT 0x006d
#define cdSHOOTING_MODE_MACRO 0x006e
#define cdSHOOTING_MODE_BW 0x006f
#define cdSHOOTING_MODE_PANFOCUS 0x0070
#define cdSHOOTING_MODE_VIVID 0x0071
#define cdSHOOTING_MODE_NEUTRAL 0x0072
#define cdSHOOTING_MODE_FLASH_OFF 0x0073
#define cdSHOOTING_MODE_LONG_SHUTTER 0x0074
#define cdSHOOTING_MODE_SUPER_MACRO 0x0075
#define cdSHOOTING_MODE_FOLIAGE 0x0076
#define cdSHOOTING_MODE_INDOOR 0x0077
#define cdSHOOTING_MODE_FIREWORKS 0x0078
#define cdSHOOTING_MODE_BEACH 0x0079
#define cdSHOOTING_MODE_UNDERWATER 0x007a
#define cdSHOOTING_MODE_SNOW 0x007b
#define cdSHOOTING_MODE_KIDS_AND_PETS 0x007c
#define cdSHOOTING_MODE_NIGHT_SNAPSHOT 0x007d
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -