⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdtype.h

📁 能数码相机开发包Canon Digital Camera SDK 里面包括CSDK的安装程序,CSDK的VC++开发示例,以及开发包的用户指南对于有兴趣或需要开发具备数码相机拍照功能电子档案
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -