Edsdk Api
Edsdk Api
Edsdk Api
ID
Page
3/17/2011
History
Version 1.0 Date 9/14/2006 Revised page(s) Reason and content of revision First release Added support for Windows Vista. Added support for the EOS-1D Mark III. Added operations and properties related to PC live view (only for supported models). Objects EdsEvfImageRef API. EdsCreateEvfImageRef EdsDownloadEvfImage Commands kEdsCameraCommand_DriveLensEvf kEdsCameraCommand_DoClickWBEvf Properties kEdsPropID_Evf_OutputDevice kEdsPropID_Evf_Mode kEdsPropID_Evf_WhiteBalance kEdsPropID_Evf_ColorTemperature kEdsPropID_Evf_DepthOfFieldPreview kEdsPropID_Evf_Sharpness kEdsPropID_Evf_ClickWBCoeffs kEdsPropID_Evf_Zoom kEdsPropID_Evf_ZoomPosition kEdsPropID_Evf_Histogram kEdsPropID_Evf_ImagePosition kEdsPropID_Evf_HistogramStatus Added commands and events for bulb shooting (only for supported models).
Reviser
2.0
5/28/2007
Commands kEdsCameraCommand_BulbStart kEdsCameraCommand_BulbEnd Events kEdsStateEvent_BulbExposureTime Changed shooting error codes. Changed the data type of KPropID_ImageQuality. Added properties for getting GPS information from image files. kEdsPropID_GPSVersionID kEdsPropID_GPSLatitudeRef kEdsPropID_GPSLatitude kEdsPropID_GPSLongitudeRef kEdsPropID_GPSLongitude kEdsPropID_GPSAltitudeRef kEdsPropID_GPSAltitude kEdsPropID_GPSTimeStamp kEdsPropID_GPSSatellites kEdsPropID_GPSMapDatum kEdsPropID_GPSDateStamp
Revision History/Date
Corrections
Reviser
Remarks
2.1
8/30/2007
Added support for the EOS 40D. Changed the target object supporting ImageQuality property to be a camera object only. Added support for the EOS-1Ds Mark III. Added sample code for bulb shooting. Added support for the EOS DIGITAL REBEL Xsi/ EOS 450D/ EOS Kiss X2.
2.2
11/12/2007
2.3
1/8/2008
2.4
5/20/2008
2.5
10/01/2008
2.5.1
12/9/2008
2.5.2 2.6
01/23/2009 04/22/2009
Added support for the EOS DIGITAL REBEL XS/ EOS 1000D/ EOS Kiss F. Added support for Mac OSX 10.5. Added support for the EOS 50D / EOS 5D Mark II Added properties for getting GPS information from image files. kEdsPropID_GPSStatus Added commands and properties related to PC live view (only for supported models). Commands kEdsCameraCommand_ShutterButton kEdsCameraCommand_DoAfEvf Properties kEdsPropID_Evf_AFMode Added properties. kEdsPropID_LensStatus kEdsPropID_Artist kEdsPropID_Copyright Stopping support API and properties API EdsReflectImageProperty Properties kEdsPropID_Evf_ClickWBCoeffs kEdsPropID_Evf_Sharpness kEdsPropID_BracketValue kEdsPropID_UserWhiteBalanceData kEdsPropID_UserToneCurveData kEdsPropID_UserPictureStyleData kEdsPropID_UserManualWhiteBalanceData kEdsPropID_PFn Revised the following properties. kEdsPropID_Sharpness kEdsPropID_ColorMatrix kEdsPropID_ColorSaturation kEdsPropID_Contrast kEdsPropID_ColorTone kEdsPropID_PhotoEffect kEdsPropID_FilterEffect kEdsPropID_ToningEffect Revised table at Section 5.3(Support Status for RAW Properties). Supports EOS 5D Mark II firmware Version 1.0.7 (for the vertical banding noise phenomenon) Added support for the EOS Kiss X3/EOS REBEL T1i /EOS 500D . Remove the limit of the file size of ICC in EdsSaveImage.
Revision History/Date
Corrections
Reviser
Remarks
2.7
11/05/2009
Added support for the EOS 7D / EOS-1D Mark IV Added support for the EOS Kiss X4/EOS REBEL T2i/EOS 550D Stopping support OS Mac OS 10.3 Added property related to PC live view (only for supported models). kEdsPropID_EVF_ZoomRect kEdsPropID_EVF_CoordinateSystem Revised the following properties. kEdsPropID_Evf_ZoomPosition kEdsPropID_Evf_ZoomRect kEdsPropID_Evf_ImagePosition Reviewed support for the following models (see 1.3 Supported Cameras). EOS-1D Mark II/EOS-1Ds Mark II/EOS-1D Mark II N EOS 5D/EOS 20D/EOS 30D EOS Kiss Digital N (DIGITAL REBEL XT/350D DIGITAL) EOS Kiss Digital X(400D/REBEL Xti)
2.8 2/15/2010
3/15/2010
2.9
8/18/2010
Reviewed support for the following models (see 1.3 Supported Cameras). EOS-1D Mark II/EOS-1Ds Mark II/EOS-1D Mark II N EOS 5D/EOS 20D/EOS 30D EOS Kiss Digital N (DIGITAL REBEL XT/350D DIGITAL) EOS Kiss Digital X(400D/REBEL Xti) Added support for the EOS 60D Stopping support OS Windows 2000 Added support for the EOS Kiss X5/EOS REBEL T3i/EOS 600D and EOS Kiss X50/EOS REBEL T3/EOS 1100D Stopping support OS Mac OS 10.4 Deleted the description of the older model out of support and revised the following properties. kEdsPropID_Sharpness kEdsPropID_ColorMatrix kEdsPropID_ColorSaturation kEdsPropID_Contrast kEdsPropID_ColorTone kEdsPropID_PhotoEffect kEdsPropID_FilterEffect kEdsPropID_ToningEffect Deleted the following properties. kEdsPropID_BodyID Added the following properties.s kEdsPropID_BodyIDEx kEdsPropID_PictureStyle ( type Auto added )
2.10
3/7/2011
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
Table of Contents
1. INTRODUCTION.............................................................................................................................................. 10
1.1 Basic Topics ............................................................................................................................................................ 10 1.2 Supported Environments ......................................................................................................................................... 10 1.2.1 Target Environment ......................................................................................................................................... 10 1.3 Supported Cameras ................................................................................................................................................. 10 1.3.1 Supported Cameras .......................................................................................................................................... 10 1.3.2 Connected Cameras.......................................................................................................................................... 11 1.4 Installing EDSDK ................................................................................................................................................... 11 1.4.1 Including Header Files ..................................................................................................................................... 11 1.4.2 Linking the Library .......................................................................................................................................... 11 1.4.3 Executing the EDSDK Client Application ....................................................................................................... 13
2. OVERVIEW ....................................................................................................................................................... 14
2.1 Protocol for Remote Connection ............................................................................................................................. 14 2.2 System Architecture ................................................................................................................................................ 14 2.3 Library Modules ...................................................................................................................................................... 15 2.4 EDSDK Objects ...................................................................................................................................................... 16 2.5 Object Management ................................................................................................................................................ 18 2.5.1 Object Management Using a Reference Counter ............................................................................................. 18 2.5.2 Releasing Resources when Exiting the Library ............................................................................................... 18 2.6 Properties ................................................................................................................................................................ 19 2.7 Camera Status ......................................................................................................................................................... 20 2.8 Asynchronous Events .............................................................................................................................................. 22 2.9 Initializing and Terminating the Library ................................................................................................................. 24 2.10 Accessing a Camera .............................................................................................................................................. 25 2.11 Transferring Files in the Camera ........................................................................................................................... 27 2.12 Transferring Captured Images ............................................................................................................................... 28 2.13 Handling Image Objects ........................................................................................................................................ 29 2.13.1 Overview ........................................................................................................................................................ 29 2.13.2 Getting and Setting Properties ....................................................................................................................... 29 2.14 Basic Data Type Definitions ................................................................................................................................. 31 2.15 EDSDK Errors ...................................................................................................................................................... 31
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
3.1.15 EdsSendStatusCommand ............................................................................................................................... 43 3.1.16 EdsSetCapacity .............................................................................................................................................. 44 3.1.17 EdsGetPropertySize ....................................................................................................................................... 44 3.1.18 EdsGetPropertyData....................................................................................................................................... 45 3.1.19 EdsSetPropertyData ....................................................................................................................................... 48 3.1.20 EdsGetPropertyDesc ...................................................................................................................................... 49 3.1.21 EdsDeleteDirectoryItem................................................................................................................................. 51 3.1.22 EdsFormatVolume ......................................................................................................................................... 51 3.1.23 EdsGetAttribute ............................................................................................................................................. 52 3.1.24 EdsSetAttribute .............................................................................................................................................. 52 3.1.25 EdsDownload ................................................................................................................................................. 53 3.1.26 EdsDownloadComplete ................................................................................................................................. 54 3.1.27 EdsDownloadCancel ...................................................................................................................................... 54 3.1.28 EdsDownloadThumbnail ............................................................................................................................... 55 3.1.29 EdsCreateEvfImageRef .................................................................................................................................. 55 3.1.30 EdsDownloadEvfImage ................................................................................................................................. 56 3.1.31 EdsCreateFileStream ...................................................................................................................................... 56 3.1.32 EdsCreateFileStreamEx ................................................................................................................................. 58 3.1.33 EdsCreateMemoryStream .............................................................................................................................. 58 3.1.34 EdsCreateMemoryStreamFromPointer .......................................................................................................... 59 3.1.35 EdsGetPointer ................................................................................................................................................ 60 3.1.36 EdsRead ......................................................................................................................................................... 60 3.1.37 EdsWrite ........................................................................................................................................................ 61 3.1.38 EdsSeek .......................................................................................................................................................... 62 3.1.39 EdsGetPosition ............................................................................................................................................... 62 3.1.40 EdsGetLength ................................................................................................................................................ 63 3.1.41 EdsCopyData ................................................................................................................................................. 63 3.1.42 EdsCreateImageRef ....................................................................................................................................... 64 3.1.43 EdsGetImageInfo ........................................................................................................................................... 64 3.1.44 EdsGetImage .................................................................................................................................................. 65 3.1.45 EdsSaveImage ................................................................................................................................................ 67 3.1.46 EdsCacheImage.............................................................................................................................................. 68 3.1.47 EdsSetCameraAddedHandler ......................................................................................................................... 69 3.1.48 EdsSetObjectEventHandler ............................................................................................................................ 69 3.1.49 EdsSetPropertyEventHandler ......................................................................................................................... 71 3.1.50 EdsSetCameraStateEventHandler .................................................................................................................. 72 3.1.51 EdsSetProgressCallback................................................................................................................................. 74 3.2 EDS Error Lists ....................................................................................................................................................... 76 3.2.1 General errors................................................................................................................................................... 76 3.2.2 File access errors .............................................................................................................................................. 76 3.2.3 Directory errors ................................................................................................................................................ 76 3.2.4 Property errors ................................................................................................................................................. 77 3.2.5 Function parameter errors ................................................................................................................................ 77 3.2.6 Device errors .................................................................................................................................................... 77 3.2.7 Stream errors .................................................................................................................................................... 77 3.2.8 Communication errors...................................................................................................................................... 78 3.2.9 Camera UI lock/unlock errors .......................................................................................................................... 78 3.2.10 STI/WIA errors .............................................................................................................................................. 78 3.2.11 Other general error ......................................................................................................................................... 78 3.2.12 PTP errors ...................................................................................................................................................... 79 3.2.13 TakePicture errors .......................................................................................................................................... 79
ID
Page
4.1 Event Lists............................................................................................................................................................... 80 4.1.1 Object-related events........................................................................................................................................ 80 4.1.2 Property-related events .................................................................................................................................... 80 4.1.3 State-related events .......................................................................................................................................... 80 4.2 Event Details ........................................................................................................................................................... 81 4.2.1 kEdsStateEvent_Shutdown (Notification of camera disconnection)................................................................ 81 4.2.2 kEdsPropertyEvent_PropertyChanged (Notification of property state changes) ............................................. 81 4.2.3 kEdsPropertyEvent_PropertyDescChanged (Notification of state changes in configurable property values) . 82 4.2.4 kEdsObjectEvent_DirItemCreated (Notification of file creation).................................................................... 82 4.2.5 kEdsObjectEvent_DirItemRemoved (Notification of file deletion) ................................................................. 82 4.2.6 kEdsObjectEvent_DirItemInfoChanged (Notification of changes in file information) ................................... 82 4.2.7 kEdsObjectEvent_DirItemContentChanged .................................................................................................... 83 4.2.8 kEdsObjectEvent_VolumeInfoChanged (Notification of changes in the volume information of recording media) .................................................................................................................................................................................. 83 4.2.9 kEdsObjectEvent_VolumeUpdateItems (Notification of requests to update volume information) ................. 83 4.2.10 kEdsObjectEvent_FolderUpdateItems (Notification of requests to update folder information) .................... 83 4.2.11 kEdsStateEvent_JobStatusChanged (Notification of changes in job states) .................................................. 84 4.2.12 kEdsObjectEvent_DirItemRequestTransfer (Notification of file transfer requests) ...................................... 84 4.2.13 kEdsObjectEvent_DirItemRequestTransferDT (Notification of direct transfer requests) ............................. 84 4.2.14 kEdsObjectEvent_DirItemCancelTransferDT (Notification of requests to cancel direct transfer) ................ 85 4.2.15 kEdsStateEvent_WillSoonShutDown (Notification of warnings when the camera will shut off) ................. 85 4.2.16 kEdsStateEvent_ShutDownTimerUpdate (Notification that the camera will remain on for a longer period)85 4.2.17 kEdsStateEvent_CaptureError (Notification of remote release failure) ......................................................... 85 4.2.18 kEdsStateEvent_BulbExposureTime ............................................................................................................. 86 4.2.19 kEdsStateEvent_InternalError (Notification of internal SDK errors) ............................................................ 86
5. PROPERTIES .................................................................................................................................................... 87
5.1 Property Lists .......................................................................................................................................................... 87 5.2 Property Details....................................................................................................................................................... 89 5.2.1 kEdsPropID_AtCapture_Flag .......................................................................................................................... 89 5.2.2 kEdsPropID_ProductName .............................................................................................................................. 90 5.2.3 kEdsPropID_BodyIDEx................................................................................................................................... 90 5.2.4 kEdsPropID_OwnerName ............................................................................................................................... 91 5.2.5 kEdsPropID_Artist ........................................................................................................................................... 91 5.2.6 kEdsPropID_Copyright .................................................................................................................................... 91 5.2.7 kEdsPropID_MakerName ................................................................................................................................ 92 5.2.8 kEdsPropID_DateTime .................................................................................................................................... 92 5.2.9 kEdsPropID_FirmwareVersion ........................................................................................................................ 92 5.2.10 kEdsPropID_BatteryLevel ............................................................................................................................. 92 5.2.11 kEdsPropID_BatteryQuality .......................................................................................................................... 93 5.2.12 kEdsPropID_FocusInfo .................................................................................................................................. 93 5.2.13 kEdsPropID_ICCProfile ................................................................................................................................ 94 5.2.14 kEdsPropID_ImageQuality ............................................................................................................................ 94 5.2.15 kEdsPropID_JpegQuality............................................................................................................................... 96 5.2.16 kEdsPropID_Orientation ................................................................................................................................ 96 5.2.17 kEdsPropID_AEMode ................................................................................................................................... 97 5.2.18 kEdsPropID_DriveMode................................................................................................................................ 98 5.2.19 kEdsPropID_ISOSpeed .................................................................................................................................. 99 5.2.20 kEdsPropID_MeteringMode ........................................................................................................................ 100 5.2.21 kEdsPropID_AFMode ................................................................................................................................. 101 5.2.22 kEdsPropID_Av ........................................................................................................................................... 101 5.2.23 kEdsPropID_Tv ........................................................................................................................................... 102 5.2.24 kEdsPropID_ExposureCompensation .......................................................................................................... 104
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
5.2.25 kEdsPropID_DigitalExposure ...................................................................................................................... 105 5.2.26 kEdsPropID_FlashCompensation ................................................................................................................ 105 5.2.27 kEdsPropID_FocalLength ............................................................................................................................ 105 5.2.28 kEdsPropID_AvailableShots........................................................................................................................ 106 5.2.29 kEdsPropID_Bracket ................................................................................................................................... 106 5.2.30 kEdsPropID_AEBracket .............................................................................................................................. 107 5.2.31 kEdsPropID_FEBracket ............................................................................................................................... 107 5.2.32 kEdsPropID_ISOBracket ............................................................................................................................. 107 5.2.33 kEdsPropID_ WhiteBalanceBracket ............................................................................................................ 108 5.2.34 kEdsPropID_WhiteBalance ......................................................................................................................... 109 5.2.35 kEdsPropID_ColorTemperature .................................................................................................................. 110 5.2.36 kEdsPropID_WhiteBalanceShift.................................................................................................................. 111 5.2.37 kEdsPropID_ClickWBPoint ........................................................................................................................ 111 5.2.38 kEdsPropID_WBCoeffs ............................................................................................................................... 112 5.2.39 kEdsPropID_Linear ..................................................................................................................................... 112 5.2.40 kEdsPropID_Sharpness ................................................................................................................................ 112 5.2.41 kEdsPropID_ParameterSet ........................................................................................................................... 113 5.2.42 kEdsPropID_ColorSaturation ...................................................................................................................... 113 5.2.43 kEdsPropID_ColorMatrix ............................................................................................................................ 114 5.2.44 kEdsPropID_Contrast .................................................................................................................................. 115 5.2.45 kEdsPropID_ColorTone............................................................................................................................... 115 5.2.46 kEdsPropID_ColorSpace ............................................................................................................................. 115 5.2.47 kEdsPropID_PhotoEffect ............................................................................................................................. 116 5.2.48 kEdsPropID_FilterEffect.............................................................................................................................. 116 5.2.49 kEdsPropID_ToningEffect ........................................................................................................................... 117 5.2.50 kEdsPropID_ToneCurve .............................................................................................................................. 118 5.2.51 kEdsPropID_PictureStyle ............................................................................................................................ 118 5.2.52 kEdsPropID_PictureStyleDesc .................................................................................................................... 119 5.2.53 kEdsPropID_FlashOn .................................................................................................................................. 120 5.2.54 kEdsPropID_FlashMode .............................................................................................................................. 120 5.2.55 kEdsPropID_RedEye ................................................................................................................................... 120 5.2.56 kEdsPropID_NoiseReduction ...................................................................................................................... 121 5.2.57 kEdsPropID_PictureStyleCaption ................................................................................................................ 121 5.2.58 kEdsPropID_SaveTo .................................................................................................................................... 122 5.2.59 kEdsPropID_LensStatus .............................................................................................................................. 122 5.2.60 kEdsPropID_LensName............................................................................................................................... 122 5.2.61 kEdsPropID_CurrentStorage........................................................................................................................ 123 5.2.62 kEdsPropID_CurrentFolder ......................................................................................................................... 123 5.2.63 kEdsPropID_HDDirectoryStructure ............................................................................................................ 123 5.2.64 kEdsPropID_Evf_OutputDevice .................................................................................................................. 123 5.2.65 kEdsPropID_Evf_Mode ............................................................................................................................... 124 5.2.66 kEdsPropID_Evf_WhiteBalance.................................................................................................................. 124 5.2.67 kEdsPropID_Evf_ColorTemperature ........................................................................................................... 124 5.2.68 kEdsPropID_Evf_DepthOfFieldPreview ..................................................................................................... 125 5.2.69 kEdsPropID_Evf_Zoom............................................................................................................................... 125 5.2.70 kEdsPropID_Evf_ZoomPosition.................................................................................................................. 125 5.2.71 kEdsPropID_Evf_ZoomRect ....................................................................................................................... 126 5.2.72 kEdsPropID_Evf_ImagePosition ................................................................................................................. 126 5.2.73 kEdsPropID_Evf_CoordinateSystem ........................................................................................................... 127 5.2.74 kEdsPropID_Evf_Histogram ....................................................................................................................... 127 5.2.75 kEdsPropID_Evf_HistogramStatus .............................................................................................................. 127 5.2.76 kEdsPropID_Evf_AFMode .......................................................................................................................... 128 5.2.77 kEdsPropID_GPSVersionID ........................................................................................................................ 128
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
5.2.78 kEdsPropID_GPSLatitudeRef...................................................................................................................... 128 5.2.79 kEdsPropID_GPSLatitude ........................................................................................................................... 128 5.2.80 kEdsPropID_GPSLongitudeRef .................................................................................................................. 129 5.2.81 kEdsPropID_GPSLongitude ........................................................................................................................ 129 5.2.82 kEdsPropID_GPSAltitudeRef ...................................................................................................................... 129 5.2.83 kEdsPropID_GPSAltitude ........................................................................................................................... 130 5.2.84 kEdsPropID_GPSTimeStamp ...................................................................................................................... 130 5.2.85 kEdsPropID_GPSSatellites .......................................................................................................................... 130 5.2.86 kEdsPropID_GPSMapDatum ...................................................................................................................... 130 5.2.87 kEdsPropID_GPSDateStamp ....................................................................................................................... 130 5.2.88 kEdsPropID_GPSStatus ............................................................................................................................... 131
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
10
1. Introduction
EDSDK stands for EOS Digital Camera Software Development Kit. EDSDK provides the functions required to control cameras connected to a host PC, digital images created in digital cameras, and images downloaded to the PC. This document describes the collection of functions implemented in the EDSDK library. EDSDK provides an interface for accessing image data shot using a Canon EOS digital camera. Using EDSDK allows users to implement the following types of representative functions in software. Allows transfer of images in a camera to storage media on a host PC. Allows RAW images to be processed and saved in JPEG format. Allows remotely connected cameras and the image being shot to be controlled from a host PC.
EDSDK is not 64-Bit compatible. You cannot call the EDSDK library from an application of 64bit.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
11
EOS-1D Mark III EOS 40D EOS-1Ds Mark III EOS DIGITAL REBEL Xsi/450D/ Kiss X2 EOS DIGITAL REBEL XS/ 1000D/ KISS F EOS 50D EOS 5D Mark II EOS Kiss X3/EOS REBEL T1i /EOS 500D EOS 7D EOS-1D Mark IV EOS Kiss X4/EOS REBEL T2i /EOS 550D EOS 60D EOS Kiss X5/EOS REBEL T3i /EOS 600D EOS Kiss X50/EOS REBEL T3 /EOS 1100D
1.3.2 Connected Cameras Discontinued support for the following old models from the version of EDSDK 2.8. However, they are still able to be connected remotely by using EDSDK under the condition of not providing support.
EOS-1D Mark II EOS 20D EOS-1Ds Mark II EOS Kiss Digital N/350D/REBEL XT EOS 5D (EOS 5D cannot be used with Mac OS X 10.5.1,10.5.2)) EOS-1D Mark II N EOS 30D EOS Kiss Digital X/400D/REBEL Xti
1.4.2 Linking the Library After header files are included, it is necessary to link the EDSDK library as described below.
Revision History/Date Corrections Reviser Remarks
ID
Page
12
Windows: There are two methods of linking EDSDK: one where EDSDK.lib files are copied to the folder specified by a development environment library path and EDSDK.lib is specified as an import module, and another where EDSDK.dll is loaded by the LoadLibrary function. When loading EDSDK.dll, get pointers to each EDSDK function using the GetProcAddress function and assign them to function pointer variables. When calling each EDSDK function, make the call via the function pointer variable obtained here. Macintosh: Add EDSDK.framework and DPP.framework to GroupsFiles.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
13
-(id)init { // START to Load EDSDK.framework ---------------------------------------------------------------NSString *symName = @"EDSDK.framework" ; int i; NSArray *array = [NSBundle allFrameworks]; void *symData = NULL; for (i = 0; symData == NULL && i < [array count]; i++) { NSBundle *framework = [array objectAtIndex:i]; NSString *bundleID = [framework bundleIdentifier]; if (bundleID) { CFBundleRef bundle = CFBundleGetBundleWithIdentifier((CFStringRef) bundleID); if (bundle) { symData = CFBundleGetFunctionPointerForName(bundle, (CFStringRef) symName); } } } // END of Loading EDSDK.framework -------------------------------------------------------------EdsError err = EDS_ERR_OK ; err = EdsInitializeSDK() ; }
Notes: Do not copy the EDSDK framework file to the system folder.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
14
2. Overview
2.1 Protocol for Remote Connection
PTP is an abbreviation of Picture Transfer Protocol. PTP is a standard protocol used to transfer images to a PC. This protocol is incorporated in EOS digital cameras that include a USB interface starting with EOS Kiss Digital N (EOS 350D/REBEL XT). A device driver for each model is unnecessary when connecting to an OS that supports PTP.
Windows
EDSDK API IF Canon
Your Application
Macintosh
EDSDK API IF
Your Application
Canon
EDSDK.framework
Microsoft
Apple
Microsoft
PTP driver
Apple
Microsoft
Apple
Your Application
Note: Use the OS standard driver for the EOS digital driver when using a camera that uses PTP for the remote connection protocol when connecting to an OS that supports PTP. Otherwise, the driver provided by Canon must be used.
Corrections
ID
Page
15
Windows
EDSDK.dll EdsImage.dll DPPLibCom.dll DPPDLL.dll M Lib.dll UCS32.dll ICC Folder xxx.icc
Macintosh
EDSDK.framework EdsImage.bundle DPPLibCom.bundle DPP.framework M Lib.bundle UCS32.bundle
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
16
CameraList
EdsCameraListRef
Camera #1
Camera #2
EdsCameraRef
Volume #1
Volume #2
EdsVolumeRef
Folder #1
Folder #2
Folder #3
Image File#1
Image File #2
Audio File #1
EdsDirectoryItemRef
Figure 2-3
Although the four objects shown above are used to access connected cameras, on an image file is transferred to the host PC, the object used to control that image changes even if it is the same image file. As shown in Figure 1-4 below, the EdsStreamRef object is used to control input/output when transferring images from the camera to the host. Then EdsImageRef is used to control the image file transferred to the host. This is due to the fact that operations differ for an image file is stored in the camera versus an image file stored on the host.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
17
Host
EdsImageRef
Camera
EdsStreamRef EdsDirectoryItemRef Folder
CreateImage
Do wn loa d
EdsDirectoryItemRef Image File
Figure 2-4 Changes in Controlled Objects Bringing together the above information, the following objects can be handled using the EDSDK. (1) EdsCameraListRef This object represents an enumeration of the cameras remotely connected to the host PC by USB interface. This object can be used to select the camera to be controlled from among the cameras currently connected with EDSDK client application. This object can also be used when getting an EdsCameraRef child object. (2) EdsCameraRef This object represents a remotely connected camera. This object is used to control the camera or to get an EdsVolumeRef object when accessing the memory card, which is a child object of the camera. (3) EdsVolumeRef This object represents the memory card inside the camera. If the camera model allows two memory cards to be installed at once, the EdsVolumeRef object represents one memory card each. This object is used to get an EdsDirectoryItemRef object, which is a child object, when performing operations on a file or folder on the memory card. (4) EdsDirectoryItemRef This object represents a file or folder on the camera. When files are downloaded from the camera, each file to be downloaded is treated as one of these objects. (5) EdsImageRef This object represents image data. This data is obtained from image files. This object is used to retrieve and control information included with an image such as thumbnails and parameters. (6) EdsStreamRef This object represents the file I/O stream. An open stream on the host PC can be specified as the download destination when downloading files in the camera to the host PC. Streams are also used when loading image files stored on the storage media of the host PC into an EDSDK client application. Furthermore, EdsStreamRef objects can also be created in memory. (7) EdsEvfImageRef This object represents PC live view image data. When using a camera model that supports live view, live view image data set can be downloaded from the camera. Information such as zoom and histogram data is included with image data.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
18
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
19
2.6 Properties
Properties are stored under EDSDK for camera and image objects. For example, properties may represent values such as camera Av and Tv. The functions EdsGetPropertyData and EdsSetPropertyData are used to get and set these properties. Since this API takes objects of undefined type as arguments, the properties that can be retrieved or set differ depending on the given object. In addition, some properties have a list of currently settable values. EdsGetPropertyDesc is used to get this list of settable values. For details on types of properties, the objects the are associated with, and the role they play, see Properties.
EdsImageRef
Av
Tv
EdsCameraRef
Av
Tv
Figure 2-5
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
20
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
21
Direct Transfer
UI Lock Release
* The camera sometimes automatically locks/releases when in the UI Lock state. Figure 2-6 Camera State Transitions
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
22
Camera
File creation event
EDSDK
Register event callback function (EdsObjectEventHandler) EdsObjectEventHandler () Download request Download request
Application
Camera
EDSDK
Register event callback function (EdsObjectEventHandler)
Application
Release Button pressed
Shooting
Image transfer request event EdsObjectEventHandler () Download request Download request
Figure 2-8 Host PC Operation-Related Event Notification Revision History/Date Corrections Reviser Remarks
ID
Page
23
When an event occurs, the EDSDK executes the callback function registered by the user. The callback function is executed on a newly generated thread and takes information depending on the event type as arguments (as specified by the event ID). The user must release objects as they become unneeded. There are three types of events issued from the EDSDK to a client application: object-related events, property-related events, and state-related events. (1) Object-related events This is the group of events where request notifications are issued to create, delete or transfer image data stored in a remotely connected camera (in memory) or image files on the memory card. (2) Property-related events This is the group of events where notifications are issued regarding changes in the properties of a remotely connected camera. (3) State-related events This is the group of events where notifications are issued regarding changes in the state of a remotely connected camera, such as the activation of a shut-down timer. For details on event information and the role events play, see the section Asynchronous Events.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
24
Application
Start
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
25
Application
EdsGetCameraList()
Get no. of cameras (child objects in camera list)
EdsGetChildCount()
EdsGetChildAtIndex(cameraList, i, aCameraRef)
Open session with camera
EdsOpenSession(aCameraRef)
EdsOpenSession OK
EdsCloseSession(aCameraRef)
Corrections
ID
Page
26
Notes on Developing Windows Applications When creating applications that run under Windows, a COM initialization is required for each thread in order to access a camera from a thread other than the main thread. To create a user thread and access the camera from that thread, be sure to execute CoInitializeEx( NULL, COINIT_APARTMENTTHREADED ) at the start of the thread and CoUnInitialize() at the end. Sample code is shown below. This is the same when controlling EdsVolumeRef or EdsDirectoryItemRef objects from another thread, not just with EdsCameraRef .
void TakePicture(EdsCameraRef camera) { // Executed by another thread HANDLE hThread = (HANDLE)_beginthread(threadProc, 0, camera); // Block until finished ::WaitForSingleObject( hThread, INFINITE ); } void threadProc(void* lParam) { EdsCameraRef camera = (EdsCameraRef)lParam;
CoInitializeEx( NULL, COINIT_APARTMENTTHREADED );
_endthread(); }
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
27
EdsRelease(stream)
Figure 2-11
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
28
CallbackFunc()
GetDirectoryItemInfo()
Create transfer destination stream
EdsCreateFileStream(file name)
EdsSetProgressCallback(callback function)
Figure 2-12
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
29
Application
Image data
EdsRelease (imageRef)
Release stream
EdsRelease (stream)
Figure 2-13
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
30
When processing is carried out using EdsGetImage or EdsSaveImage by setting properties for the image object, the specified property settings will be reflected in the generated JPEG. Note, however, that changes to properties will not be reflected in the source image stored by EdsImageRef. EDSDK EdsCreateImageRef(stream,&imageRef) EdsSetPropertyData(imageRef, WhiteBalance, ...)
WhiteBalance
Application
Changes made to the source image pointed to by imageRef are not applied. Changes in the WhiteBalance and PictureStyle made to the JPEG created by EdsSaveImage are reflected.
Figure 2-14
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
31
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
32
3. API Reference
3.1 API Details
API specifications are explained in the following format. Description Indicates the main API function. Syntax EdsError EdsXXXXX( EdsUInt32 inXXXX, Indicates the syntax for calling the API. Parameters Explains each argument in the syntax individually. In the syntax, argument names in the format inXXX represent arguments for which you enter values. Argument names in the format outXXX represent arguments with values set by the libraries (that is, passed by reference). Before calling APIs, you must prepare variables for storing the data to be retrieved. Return Values Explains API return values. See Also Indicates information related to the API. Note Considerations when using the API. Example Sample code. EdsBaseRef *outXXX ) ;
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
33
3.1.1 EdsInitializeSDK Description Initializes the libraries. When using the EDSDK libraries, you must call this API once before using EDSDK APIs.
Syntax EdsError Parameters None Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsTerminateSDK Example See Sample 1. EdsInitializeSDK( )
3.1.2 EdsTerminateSDK Description Terminates use of the libraries. Calling this function releases all resources allocated by the libraries.
Syntax EdsError Parameters None Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsInitializeSDK Example See Sample 1. EdsTerminateSDK()
ID
Page
34
Syntax EdsUInt32 EdsRetain( EdsBaseRef inRef ) Parameters inRef Objects of all types in the EDSDK can be designated. Type Description EdsCameraListRef A list of remote cameras EdsCameraRef A particular remote camera EdsVolumeRef A volume on the camera's recording media EdsDirectoryItemRef A directory or file in the volume EdsImageRef An image file on the host computer EdsStreamRef Stream data on the remote camera or host computer Return Values Returns a reference counter if successful. For errors, returns 0xFFFFFFFF. The return value is 4 bytes, and the maximum value of the reference counter is 65535. See Also Related APIs EdsRelease Example See Sample 1.
3.1.4 EdsRelease Description Decrements the reference counter to an object. When the reference counter reaches 0, the object is released.
Syntax EdsUInt32 EdsRelease ( EdsBaseRef inRef ) Parameters inRef Objects of all types in the EDSDK can be designated. ( EdsCameraListRef, EdsCameraRef, EdsDirectoryItemRef, EdsImageRef, or EdsStreamRef ) Return Values Returns a reference counter if successful. For errors, returns 0xFFFFFFFF. See Also Related APIs EdsRetain, EdsGetCameraList, EdsGetChildAtIndex, and EdsGetParent, EdsCreateImage Note The reference counter is incremented not only for objects with a reference counter incremented explicitly by means of EdsRetain but also for EDSDK objects retrieved by means of EdsGetCameraList, Revision History/Date Corrections Reviser Remarks
ID
Page
35
EdsGetChildAtIndex, or EdsGetParent (refer to the objects that can be designated with inRef), for which the reference counter is incremented by one implicitly. Thus, when objects are no longer needed, you must use this API to decrease the reference counter. Example See Sample 1.
3.1.5 EdsGetChildCount Description Gets the number of child objects of the designated object. Example: Number of files in a directory
Syntax EdsError EdsGetChildCount ( EdsBaseRef inRef, EdsUInt32* outCount ) Parameters inRef EdsCameraListRef, EdsVolumeRef, EdsCameraRef, or EdsDirectoryItemRef. outCount Pointer to the variable for receiving the child object of the object designated by inRef. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetChildAtIndex Example See Sample 2.
3.1.6 EdsGetChildAtIndex Description Gets an indexed child object of the designated object.
Relevant object Camera list Camera Volume Directory item Syntax EdsError EdsGetChildAtIndex( EdsBaseRef EdsInt32 EdsBaseRef* inRef, inIndex, outRef Corrections Child object that can be retrieved Camera Volume Directory item Directory item (folder or file)
) Reviser Remarks
Revision History/Date
ID
Page
36
Parameters inRef Designate the parent object of the object to get. You can designate EdsCameraListRef, EdsCameraRef, EdsVolumeRef, or EdsDirectoryItemRef. inIndex Designate the index of the child object list. The index is 0-based, so designate 0 to get the first child object. outRef The indexed child object. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetChildCount and EdsGetParent Note The reference counter is implicitly 1 for the retrieved child object. When the object is not needed, you must use EdsRelease to decrease the reference counter. Example See Sample 2.
3.1.7 EdsGetParent Description Gets the parent object of the designated object.
Syntax EdsError EdsGetParent( EdsBaseRef inRef, EdsBaseRef *outParentRef ); Parameters inRef The EdsCameraListRef, EdsCameraRef, EdsVolumeRef, or EdsDirectoryItemRef object. outParentRef Returns a pointer to the variable for receiving the parent object reference. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also For details on object parent-child relationships, see EDSDK Objects. Related APIs EdsGetChildAtIndex and EdsRelease Note The reference counter is implicitly 1 for the retrieved parent object. When the object is not needed, you must use EdsRelease to decrease the reference counter. Revision History/Date Corrections Reviser Remarks
ID
Page
37
Parameters outCameraListRef When the return value is EDS_ERR_OK, a list of cameras connected to the host computer is specified in outCameraListRef. When the return value is other than EDS_ERR_OK, the content of outCameraListRef is unspecified. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsRelease, EdsGetChildCount, and EdsGetChildAtIndex Note The reference counter is implicitly 1 for the retrieved camera list. When the object is not needed, you must use EdsRelease to decrease the reference counter. Example See Sample 2.
3.1.9 EdsGetDeviceInfo Description Gets device information, such as the device name. Because device information of remote cameras is stored on the host computer, you can use this API before the camera object initiates communication (that is, before a session is opened).
Syntax EdsError EdsGetDeviceInfo( EdsCameraRef inCameraRef, EdsDeviceInfo *outDeviceInfo ) Parameters inCameraRef The camera object for which to get device information. outDeviceInfo Pointer to the EdsDeviceInfo structure for receiving device information. EdsDeviceInfo EdsDeviceInfo constituent elements Revision History/Date Type Description
Corrections
Reviser
Remarks
ID
Page
38
EdsChar[] Port name EdsChar[] Device name EdsUInt32 Canon PTP cameras: Canon PTP-IP cameras:
1 2
If the camera involved in PTP communication is connected to a Windows computer on which WIA is installed, 0 is specified in DeviceSubType, representing standard Windows PTP. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists.
3.1.10 EdsGetVolumeInfo Description Gets volume information for a memory card in the camera.
Syntax EdsError EdsGetVolumeInfo( EdsVolumeRef inVolumeRef, EdsVolumeInfo *outVolumeInfo )
Parameters inVolumeRef Designate the volume object for which to get volume information. outVolumeInfo Specifies the pointer to the EdsVolumeInfo structure for receiving the volume information. EdsVolumeInfo EdsVolumeInfo constituent elements storageType access maxCapacity freeSpaceInBytes szVolumeLabel Enum EdsStorageType Value 0 1 2 Enum EdsAccess Value 0 1 2 0xFFFFFFFF Revision History/Date Type EdsUInt32 EdsAccess EdsUInt64 EdsUInt64 EdsChar[] Description Value defined by Enum EdsStorageType Value defined by Enum EdsAccess Maximum size (in bytes) Available capacity (in bytes) Volume name (an ASCII string)
<defined location>EDSDKTypes.h Description No memory card inserted Compact flash SD card <defined location>EDSDKTypes.h Description Read Only Write Only Read and Write Access error Corrections Reviser Remarks
ID
Page
39
Note: This means that the designated memory card is in a state preventing use, such as when the card is not formatted. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetChildAtIndex Note In the context of the EDSDK, volumes are objects representing memory cards. The constituent element access of EdsVolumeInfo is the access type when the file object is open.
3.1.11 EdsGetDirectoryItemInfo Description Gets information about the directory or file objects on the memory card (volume) in a remote camera.
Syntax EdsError EdsGetDirectoryItemInfo( EdsDirectoryItemRef inDireItemRef, EdsDirectoryItemInfo* outDirItemInfo )
Parameters inDireItemRef Designate the directory item object. outDirItemInfo Pointer to the DirectoryItemInfo structure for receiving the directory item information. DirectoryItemInfo includes the following information. Constituent elements Description size The file size. For folders, the file size is indicated as 0. isFolder If a folder: True If not a folder: False groupID A non-zero integer. The same group ID is assigned to files that belong to the same group, such as RAW+JPEG images or RAW+AVI images. option An option when a direct transfer request is received (a kEdsObjectEvent_DirItemRequestTransferDT event). kEdsTransferOptionToDesktop is set when [Wallpaper] in the direct transfer is executed by means of camera operations. Prohibit it under other timing conditions. szFileName Returns the directory name or file name if successful. Example: "_MG_0060.JPG" format Returns the directory item type. Note:This type is defined in EdsImageType. EdsTargetImageType Value Revision History/Date <defined location>EDSDKTypes.h Description Corrections Reviser Remarks
ID
Page
40
kEdsTargetImageType_unknown kEdsTargetImageType _Jpeg kEdsTargetImageType _TIFF kEdsTargetImageType _TIFF16 kEdsTargetImageType _RGB kEdsTargetImageType _RGB16
Folder, or unknown image type JPEG 8-bit TIFF 16-bit TIFF 8-bit RGB, chunky format 16-bit RGB, chunky format
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also For information on data types of the EDSDK, see "Data Types Used by the APIs" in the Appendix. Example See Sample 6.
3.1.12 EdsOpenSession Description Establishes a logical connection with a remote camera. Use this API after getting the camera's EdsCamera object.
Syntax EdsError EdsOpenSession( EdsCameraRef inCameraRef ); Parameters inCameraRef Designate the camera object of the camera to connect to. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. Note Use the EdsCloseSession API to disconnect from the camera. See Also Related APIs EdsCloseSession Example See Sample 1.
ID
Page
41
inCameraRef );
Parameters inCameraRef Designate the camera object of the camera to disconnect from. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsOpenSession Example See Sample 1.
kEdsCameraCommand_DriveLensEvf
kEdsCameraCommand_DoClickWBEvf
Revision History/Date
Corrections
ID
Page
42
view mode.
Controls auto focus in live view mode. This command is supported by the EOS 50D or EOS 5D Mark II or later cameras, and only in live view mode. Controls shutter button operations. This command is supproted by the EOS 50D or EOS 5D Mark II or later cameras.
kEdsCameraCommand_PressShutterButton
inParam Specify the x-coordinate in the upper WORD and the y-coordinate in the lower WORD for kEdsCameraCommand_DoClickWBEvf only. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. Note This is a description of EdsShutterButton when kEdsCameraCommand_PressShutterButton is specified in InParam.
OFF
kEdsCameraCommand _ShutterButton_Halfway kEdsCameraCommand _ShutterButton_Off kEdsCameraCommand _ShutterButton_Completely
kEdsCameraCommand _ShutterButton_Off
kEdsCameraCommand _ShutterButton_Halfway
Halfway
kEdsCameraCommand _ShutterButton_Completely
Completely
In the above diagram, OFF represents the state in which the cameras shutter button is not being pressed, Halfway represents the state in which it is being pressed halfway, and Completely represents the state in which it is being pressed completely. Since both the Halfway and Completely states are maintained continuously, they must be explicitly terminated by issuing the kEdsCameraCommand_ShutterButton_Off command. Revision History/Date Corrections Reviser Remarks
ID
Page
43
Usually, AF operations are determined depending on camera and lens settings. Parameters for performing photometry that do not result in AF operations can also be used. Parameters depending on camera and lens settings cannot be used together with parameters that do not result in AF operations. Be sure to use in combination with the following in accordance with the settings you wan to use. Depends on Camera/Lens Settings No AF Operations Halfway kEdsCameraCommand_ShutterButton_ kEdsCameraCommand_ShutterButton_ Halfway Halfway_NonAF Completely kEdsCameraCommand_ShutterButton_ kEdsCameraCommand_ShutterButton_ Completely Completely_NonAF OFF kEdsCameraCommand_ShutterButton_Off Example See Sample 9.
Parameters inCameraRef Designate the camera object. inStatusCommand Designate the particular mode ID to set the camera to. In EDSTypes.h, you can designate commands defined by enum EdsCameraStatusCommand. inStatusCommand kEdsCameraStatusCommand _UILock kEdsCameraStatusCommand _UIUnLock kEdsCameraStatusCommand _EnterDirectTransfer kEdsCameraStatusCommand _ExitDirectTransfer inParam Currently unused. Designate 0. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. Note These are pairs of commands to lock and unlock the UI, as well as to put the camera in direct transfer mode and exit this mode. If you switch modes by means of EdsSendStatusCommand, use EdsSendStatusCommand again to restore the original mode. inParam N/A N/A N/A N/A Description Locks the UI Unlocks the UI Puts the camera in direct transfer mode Ends direct transfer mode
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
44
3.1.16 EdsSetCapacity Description Sets the remaining HDD capacity on the host computer(excluding the portion from image transfer),as calculated by subtracting the portion from the previous time. Set a reset flag initially and designate the cluster length and number of free clusters. Some cameras can display the number of shots left on the camera based on the available disk capacity of the host computer. For these cameras, after the storage destination is set to the computer,use this API to notify the camera of the available disk capacity of the host computer.
Syntax EdsError
EdsSetCapacity ( EdsCameraRef inCameraRef, EdsCapacity inCapacity);
Parameters InCameraRef The reference of the camera which will receive the command. Incapacity The remaining capacity of a transmission place. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. Note
3.1.17 EdsGetPropertySize Description Gets the byte size and data type of a designated property from a camera object or image object.
Syntax EdsError EdsGetPropertySize( EdsBaseRef inRef, EdsPropertyID inPropertyID, EdsInt32 inParam, EdsDataType *outEdsDataType, EdsUInt32 *outSize )
Parameters inRef Designate either EdsCameraRef or EdsImageRef. inPropertyID Designate the property ID. inParam Additional information of the property. Used to designate multiple additional items of information, if the property has such information that can be set or retrieved. For descriptions of values that can be designated for each property, see the description of inParam for EdsGetPropertyData. outEdsDataType Returns the property data type. The particular item defined by enum EdsDataType is returned. outSize Stores the property size. The data type and value returned varies depending on the property ID. See "Property Details" for further information. Revision History/Date Corrections Reviser Remarks
ID
Page
45
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetPropertyData and EdsGetPropertyDesc For further information on properties, see Properties. Example See Sample 3.
3.1.18 EdsGetPropertyData Description Gets property information from the object designated in inRef.
Syntax EdsError EdsGetPropertyData( EdsBaseRef EdsPropertyID EdsInt32 EdsUInt32 EdsVoid inRef, inPropertyID, inParam, inPropertySize, *outPropertyData )
Parameters inRef Designate the object for which to get properties. The EDSDK objects you can designate are EdsCameraRef, EdsDirectoryItemRef, or EdsImageRef. inPropertyID Designate the property ID. inParam Designate additional property information. Use additional property information if multiple items of information such as picture styles can be set or retrieved for a property. Values that can be designated for each property are as follows. Properties regarding camera settings inPropertyID kEdsPropID_ProductName kEdsPropID_BodyIDEx kEdsPropID_OwnerName kEdsPropID_MakerName kEdsPropID_DateTime kEdsPropID_FirmwareVersion kEdsPropID_BatteryLevel kEdsPropID_BatteryQuality kEdsPropID_CFn kEdsPropID_SaveTo kEdsPropID_CurrentStorage kEdsPropID_CurrentFolder Revision History/Date inParam setting value 0 0 0 0 0 0 0 0 Custom Function number 0 0 0 Reviser Remarks
Corrections
ID
Page
46
kEdsPropID_HDDirectoryStructure kEdsPropID_LensStatus kEdsPropID_Artist kEdsPropID_Copyright Properties regarding images InPropertyID kEdsPropID_ImageQuality kEdsPropID_JpegQuality
0 0 0 0 inParam setting value 0 (1) EOS 1D series models High-order Word: Processing Parameter set number; low-order Word: kEdsImageQualityNormal or kEdsImageQualityFine (2) Other models Image Size (retrieved by means of kEdsPropID_ImageQuality) 0 0 0 0 0 0 0 0 0 To designate the current sharpness value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 To designate the ParameterSet number by designating EdsCameraRef: the ParameterSet number 0 0 To designate the current saturation value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 To designate ColorMatrix by designating EdsCameraRef: one of the ColorMatrix numbers Current contrast value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 To designate the ParameterSet number by designating EdsCameraRef: the ParameterSet number Current color tone value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 To designate ColorMatrix by designating EdsCameraRef: one of the ColorMatrix numbers Current color space value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 To designate ColorMatrix by designating EdsCameraRef: one of the ColorMatrix numbers To designate a picture style by designating EdsCameraRef: one of enum EdsPictureStyle 0 Corrections Reviser Remarks
kEdsPropID_Orientation kEdsPropID_ICCProfile kEdsPropID_FocusInfo kEdsPropID_WhiteBalance kEdsPropID_ColorTemperature kEdsPropID_WhiteBalanceShift kEdsPropID_ClickWBPoint kEdsPropID_WBCoeffs kEdsPropID_Linear kEdsPropID_Sharpness
kEdsPropID_Contrast
kEdsPropID_ColorTone
kEdsPropID_ColorSpace
ID
Page
47
kEdsPropID_PictureStyle
kEdsPropID_PictureStyleCaption
Current filter effect value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 Current toning effect value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 Standard (read-only; cannot be set): 0 Set 1:1 Set 2:2 Set 3:3 and so on Note: If EdsImageRef is designated, only 0. Current picture style value (or, if EdsImageRef is designated, either the current value or the value at the time of shooting): 0 One of these: User setting 1: kEdsPictureStyle_User1 User setting 2: kEdsPictureStyle_User2 User setting 3: kEdsPictureStyle_User3 0 inParam setting value 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Corrections Reviser Remarks
Properties regarding image capture InPropertyID kEdsPropID_AEMode kEdsPropID_DriveMode kEdsPropID_ISOSpeed kEdsPropID_MeteringMode kEdsPropID_AFMode kEdsPropID_Av kEdsPropID_Tv kEdsPropID_ExposureCompensation kEdsPropID_DigitalExposure kEdsPropID_FlashCompensation kEdsPropID_FocalLength kEdsPropID_AvailableShots kEdsPropID_Bracket kEdsPropID_WhiteBalanceBracket kEdsPropID_LensName kEdsPropID_AEBracket kEdsPropID_FEBracket kEdsPropID_ISOBracket kEdsPropID_NoiseReduction kEdsPropID_FlashOn kEdsPropID_RedEye kEdsPropID_FlashMode kEdsPropID_GPSVersionID kEdsPropID_GPSLatitudeRef kEdsPropID_GPSLatitude kEdsPropID_GPSLongitudeRef kEdsPropID_GPSLongitude kEdsPropID_GPSAltitudeRef Revision History/Date
ID
Page
48
Properties regarding live view InPropertyID kEdsPropID_Evf_OutputDevice kEdsPropID_Evf_Mode kEdsPropID_Evf_WhiteBalance kEdsPropID_Evf_ColorTemperature kEdsPropID_Evf_DepthOfFieldPreview kEdsPropID_Evf_Zoom kEdsPropID_Evf_ZoomPosition kEdsPropID_Evf_ZoomPosition kEdsPropID_Evf_Histogram kEdsPropID_Evf_ImagePosition kEdsPropID_Evf_HistogramStatus kEdsPropID_Evf_AFMode
inPropertySize Designate the byte size of the property. If the property data size is not known in advance, it can be retrieved by means of EdsGetPropertySize. outPropertyData Specifies the property data. The data type and value returned vary depending on the property. For property information, see Properties. Return Values Returns EDS_ERR_OK on normal completion. Otherwise, see the EDS Error Lists for error codes. See Also Related APIs EdsGetPropertySize, EdsSetPropertyData, and EdsGetPropertyDesc For further information on properties, see Properties. Note Regarding retrieval of the camera property data in particular, the conditions that can be retrieved vary depending on the values of other property data. For further information, see Properties. Example See Sample 3.
3.1.19 EdsSetPropertyData Description Sets property data for the object designated in inRef.
Revision History/Date Corrections Reviser Remarks
ID
Page
49
Syntax EdsError EdsSetPropertyData ( EdsBaseRef EdsPropertyID EdsInt32 EdsUInt32 const EdsVoid* inRef, inPropertyID, inParam, inPropertySize, inPropertyData
Parameters inRef Designate the object for which to set properties. Designate either EdsCameraRef or EdsImageRef. inPropertyID Designate the property ID. inParam Designate additional property information. Use additional property information if multiple items of information such as picture styles can be set or retrieved for a property. For descriptions of values that can be designated for each property, see the description of inParam for EdsGetPropertyData. inPropertySize Designate the size of the property data in bytes. The data size of each property can be retrieved by means of EdsGetPropertySize. inPropertyData Designate the property data to set. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetPropertySize, EdsGetPropertyData, and EdsGetPropertyDesc. For further information on properties, see Properties. Note When you set properties of an image object (EdsImageRef), this API maintains the change internally. Example See Sample 5.
3.1.20 EdsGetPropertyDesc
Description Gets a list of property data that can be set for the object designated in inRef, as well as maximum and minimum values. This API is intended for only some shooting-related properties. Retrievable properties for settable data lists kEdsPropID_AEMode Revision History/Date Corrections Description Shooting mode Reviser Remarks
ID
Page
50
ISO speed Metering mode Aperture value Shutter speed Exposure compensation
EdsError EdsGetProperyDesc( EdsBaseRef inRef, EdsPropertyID inPropertyID, EdsPropertyDesc* outProperyDesc ) Parameters inRef The target object. Designate EdsCameraRef. inPropertyID Designate a property ID. outProperyDesc Specifies a pointer to the EdsPropertyDesc structure for getting a list of property data that can currently be set in the target object. If the API return value is EDS_ERR_OK, a settable property data list of properties that can be set is specified, as retrieved from the target object. The structure of the list of property data that can be set (EdsPropertyDesc) has the following constituent elements. EdsPropertyDesc constituent Type Description elements form EdsInt32 Reserved (currently, always 0) access EdsAccess Reserved (currently, always 0) numElements EdsInt32 Indicates the number of property data list elements stored in the PropDesc array. propDesc EdsInt32[] A property data array. The meaning of PropDesc array elements varies depending on the property type. Return Values EDS_ERR_INVALID_PARAMETER is returned if a property ID is designated in inPropertyID that cannot be used with GetPropertyDesc. Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetPropertySize, EdsGetPropertyData, EdsSetPropertyData, and EdsGetPropertyDesc For details on properties and the meaning of array elements that can be set in the data list, see the Properties section. For information on data types of the EDSDK, see "Data Types Used by the APIs" in the Appendix. Example Revision History/Date Corrections Reviser Remarks
ID
Page
51
See Sample 4.
3.1.21 EdsDeleteDirectoryItem Description Deletes a camera folder or file. If folders with subdirectories are designated, all files are deleted except protected files. EdsDirectoryItem objects deleted by means of this API are implicitly released by the EDSDK. Thus, there is no need to release them by means of EdsRelease.
Syntax EdsError EdsDeleteDirectoryItem(EdsDirectoryItemRef inDirItemRef) Parameters inDirItemRef Designate the folder or file to delete. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSendCommand Note Be careful when deleting files on the remote camera to avoid doing so when the camera is not in the right mode. Lock the UI, for example.
Revision History/Date
ID
Page
52
Parameters inDirItemRef Designate the file object for which to get attributes. outFileAttribute Indicates the file attributes. As for the file attributes, OR values of the value defined by enum EdsFileAttributes can be retrieved. Thus, when determining the file attributes, you must check if an attribute flag is set for target attributes. Example: Determining the attribute value fileAttr, retrieved from a file object if (kEdsFileAttribute_ReadOnly & fileAttr ){ // The file is read-only } Enum EdsFileAttribtes <defined location>EDSDKTypes.h Value Description kEdsFileAttribute_Normal A standard file kEdsFileAttribute_ReadOnly Read-only kEdsFileAttribute_Hidden Hidden attribute kEdsFileAttribute_System System attribute kEdsFileAttribute_Archive Archive attribute Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSetAttribute
Parameters inDirItemRef Designate the file object for which to change attributes. Revision History/Date Corrections Reviser Remarks
ID
Page
53
outFileAttribute Indicates the file attributes. As for the file attributes, OR values of the value defined by enum EdsFileAttributes can be retrieved. Enum EdsFileAttribtes <defined location>EDSDKTypes.h Value Description kEdsFileAttribute_Normal A standard file kEdsFileAttribute_ReadOnly Read-only kEdsFileAttribute_Hidden Hidden attribute kEdsFileAttribute_System System attribute kEdsFileAttribute_Archive Archive attribute Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdGetAttribute
3.1.25 EdsDownload Description Downloads a file on a remote camera (in the camera memory or on a memory card) to the host computer. The downloaded file is sent directly to a file stream created in advance. When dividing the file being retrieved, call this API repeatedly. Also in this case, make the data block size a multiple of 512 (bytes), excluding the final block.
Syntax EdsError EdsDownload( EdsDirectoryItemRef inDirItemRef, EdsUInt32 inReadSize, EdsStreamRef outStreamRef
Parameters inDirItemRef Designate the file object in the camera to download. inReadSize Designate the size in bytes to download. outStreamRef Specifies the destination stream. The stream for downloading is created by means of EdsCreateFileStream, EdsCreateMemoryStream, or the like. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsDownloadComplete, EdsDownloadCancel, EdsDownloadThumbnail, EdsCreateFileStream, EdsCreateMemoryStream, and EdsSetProgressCallback Revision History/Date Corrections Reviser Remarks
ID
Page
54
Note EdsDownload is an API that may be checked with a progress callback. Using EdsSetProgressCallback to register the callback function enables the progress to be retrieved as an event during file transfer. Immediately after this API is called, the EdsDownloadComplete API must be called to notify the camera that the file transfer is complete. Similarly, if the download is canceled, EdsDownloadCancel must be called. If this API abends, a communication error between the camera and host computer occurs. If so, release the resources allocated by the application and restore the initial mode. Example See Sample 6.
3.1.26 EdsDownloadComplete Description Must be called when downloading of directory items is complete. Executing this API makes the camera recognize that file transmission is complete. This operation need not be executed when using EdsDownloadThumbnail.
Syntax EdsError EdsDownloadComplete( EdsDirectoryItemRef inDirItemRef ) Parameters inDirItemRef Designate the file for which to complete the downloading process. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsDownload and EdsDownloadCancel Note If transfer of a file that was divided is canceled, call EdsDownloadCancel instead of this API to notify the camera that downloading of the directory item has been canceled. Example See Sample 6.
3.1.27 EdsDownloadCancel Description Must be executed when downloading of a directory item is canceled. Calling this API makes the camera cancel file transmission. It also releases resources. This operation need not be executed when using EdsDownloadThumbnail.
Syntax EdsError EdsDownloadCancel ( EdsDirectoryItemRef inDirItemRef ) Corrections Reviser Remarks Revision History/Date
ID
Page
55
Parameters inDirItemRef Designate the file for which to cancel downloading. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsDownload and EdsDownloadComplete Note In applications that take locally released images on the camera and load them on host computer, if the application receives a file transfer request from the camera when the file is not needed (by means of kEdsObjectEvent_DirItemRequestTransfer or kEdsObjectEvent_DirItemRequestTransferDT), this API must be called to notify the camera that transmission has been canceled. Normally, delete callback function registration at the moment an event is not needed.
3.1.28 EdsDownloadThumbnail Description Extracts and downloads thumbnail information from image files in a camera. Thumbnail information in the camera's image files is downloaded to the host computer. Downloaded thumbnails are sent directly to a file stream created in advance.
Syntax EdsError EdsDownloadThumbnail( EdsDirectoryItemRef inDirItemRef, EdsStreamRef outStreamRef )
Parameters inDirItemRef Designate the image file object with thumbnails to extract. outStreamRef Designate the stream for saving extracted thumbnails. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsDownload, EdsCreateFileStream, EdsCreateFileStreamEx, EdsCreateImageRef, and EdsGetImageInfo
3.1.29 EdsCreateEvfImageRef Description Creates an object used to get the live view image data set.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
56
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateFileStream, EdsCreateFileStreamEx Example See Sample 10
3.1.30 EdsDownloadEvfImage Description Downloads the live view image data set for a camera currently in live view mode. Live view can be started by using the property ID:kEdsPropertyID_Evf_OutputDevice and data:EdsOutputDevice_PC to call EdsSetPropertyData. In addition to image data, information such as zoom, focus position, and histogram data is included in the image data set. Image data is saved in a stream maintained by EdsEvfImageRef. EdsGetPropertyData can be used to get information such as the zoom, focus position, etc. Although the information of the zoom and focus position can be obtained from EdsEvfImageRef, settings are applied to EdsCameraRef.
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateEvfImageRef Note EDS_ERR_OBJECT_NOTREADY returns as an error when the image data set is not ready at the camera or when the image data set cannot be obtained. Be sure to retry if EDS_ERR_OBJECT_NOTREADY is returned. See Sample 10
Example
ID
Page
57
Creates a new file on a host computer (or opens an existing file) and creates a file stream for access to the file. If a new file is designated before executing this API, the file is actually created following the timing of writing by means of EdsWrite or the like with respect to an open stream. Syntax EdsError EdsCreateFileStream (const EdsChar* inFileName, EdsFileCreateDisposition inCreateDisposition, EdsAccess inDesiredAccess, EdsStreamRef* outStream)
Parameters inFileName Designate the file name of a new file or a file to open. You can designate a null-terminated string up to EDS_MAX_NAME characters long as the file name. inCreateDisposition Designate how the file is handled (that is, its disposition) if it exists or does not exist. Designate a value defined in Enum EdsFileCreateDisposition. Enum EdsFileCreateDisposition <defined location>EDSDKTypes.h Value Description kEdsFileCreateDisposition_CreateNew Creates a new file. An error occurs if the designated file already exists. kEdsFileCreateDisposition_CreateAlways Creates a new file. If the designated file already exists, that file is overwritten and existing attributes is erased. kEdsFileCreateDisposition_OpenExisting Opens a file. An error occurs if the designated file does not exist. kEdsFileCreateDisposition_OpenAlways If the file exists, it is opened. If the designated file does not exist, a new file is created. kEdsFileCreateDisposition_TruncateExsisting Opens a file and sets the file size to 0 bytes. inDesiredAccess Values defined in Enum EdsAccess may be designated. Enum EdsAccess Value kEdsAccess_Read kEdsAccess_Write kEdsAccess_ReadWrite <defined location>EDSDKTypes.h Description Open a read-only stream. Open a write-only stream. Allow reading and writing.
outStreamRef Returns a file stream to the open file. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateFileStreamEx, EdsWrite, EdsRead, and EdsRelease Note Revision History/Date Corrections Reviser Remarks
ID
Page
58
The maximum file name length is limited to EDS_MAX_NAME. To go beyond this limitation or enable support of Unicode file names, use the Unicode version, EdsCreateFileStreamEx. The stream you create must be released after use by means of EdsRelease. Example See Sample 6.
3.1.32 EdsCreateFileStreamEx Description An extended version of EdsCreateFileStream. Use this function when working with Unicode file names.
Syntax EdsError EdsCreateFileStreamEx( #ifdef __MACOS__ const CFURLRef inURL, #else const WCHAR* inFileName, #endif EdsFileCreateDisposition inCreateDisposition, EdsAccess inDesiredAccess, EdsStreamRef* outStream) Parameters inURL (for Macintosh) Designate CFURLRef. inFileName (for Windows) Designate the file name. inDesiredAccess See EdsCreateFileStream. inCreateDisposition See EdsCreateFileStream. outStreamRef Returns a file stream to the open file. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateFileStream, EdsWrite, EdsRead, and EdsRelease Note This API is an extended version of EdsCreateStreamFromFile. The stream you create must be released after use by means of EdsRelease.
ID
Page
59
Creates a stream in the memory of a host computer. In the case of writing in excess of the allocated buffer size, the memory is automatically extended. Syntax EDSError EdsCreateMemoryStream ( EdsUInt32 inBufferSize, EdsStreamRef* outStreamRef ) Parameters inBufferSize Designate the buffer size to allocate. Because the size will be extended automatically as needed, designate 0 if the buffer size is unknown. outStreamRef On normal completion, a pointer is specified to the stream object that was created. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also EdsCreateFileStream, EdsWrite, EdsRead, and EdsRelease Note The stream you create must be released after use by means of EdsRelease.
3.1.34 EdsCreateMemoryStreamFromPointer Description Creates a stream from the memory buffer you prepare. Unlike the buffer size of streams created by means of EdsCreateMemoryStream, the buffer size you prepare for streams created this way does not expand.
Syntax EdsError EDSAPI EdsCreateMemoryStreamFromPointer ( EdsVoid *inUserBuffer, EdsUInt32 inBufferSize, EdsStreamRef *outStream
); Parameters inUserBuffer Pointer to the buffer you have prepared. Streams created by means of this API lead to this buffer. inBufferSize Designate the buffer size. outStream On normal completion, returns the stream to the designated buffer. Designate the reference to the EdsStreamRef type variable (that is, the address) as an argument. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs Revision History/Date Corrections Reviser Remarks
ID
Page
60
EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsWrite, and EdsRelease Note The size of streams created by means of this API does not change. Be careful to ensure that access to the created stream does not exceed the available space.
3.1.35 EdsGetPointer Description Gets the pointer to the start address of memory managed by the memory stream. As the EDSDK automatically resizes the buffer, the memory stream provides you with the same access methods as for the file stream. If access is attempted that is excessive with regard to the buffer size for the stream, data before the required buffer size is allocated is copied internally, and new writing occurs. Thus, the buffer pointer might be switched on an unknown timing. Caution in use is therefore advised.
Syntax EdsError EDSAPI EdsGetPointer( EdsStreamRef EdsVoid ); inStream, **outPointer
Parameters inStream Designate the memory stream for the pointer to retrieve. outPointer If successful, returns the pointer to the buffer written in the memory stream. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsWrite, and EdsRelease Note The buffer pointer may be switched on an unknown timing. Thus, some risk is posed by using this API so that saved pointers are saved and used in alternation. Caution in use is therefore advised.
3.1.36 EdsRead Description Reads data the size of inReadSize into the outBuffer buffer, starting at the current read or write position of the stream. The size of data actually read can be designated in outReadSize.
Syntax EdsError EdsRead( EdsStreamRef inStreamRef, EdsUInt32 inReadSize, EdsVoid *outBuffer, EdsUInt32 *outReadSize Corrections
) Reviser Remarks
Revision History/Date
ID
Page
61
Parameters inStreamRef Designate the file or memory stream. inReadSize Designate the size of data to read. outBuffer On normal completion, specifies the buffer storing read data. outReadSize Specifies a pointer to the variable for receiving the size of data actually read. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsWrite, and EdsRelease Note If reading is successful, the read or write position in the stream is moved ahead an amount corresponding to the size of data read.
3.1.37 EdsWrite Description Writes data of a designated buffer to the current read or write position of the stream.
Syntax EdsError EdsWrite( EdsStreamRef inStreamRef, EdsUInt32 inWriteSize, Const EdsVoid* inBuffer, EdsUInt32 *outWrittenSize )
Parameters inStreamRef Designate the destination stream for writing. The stream object must be retrieved in advance. inWriteSize Designate the size of data to write from the buffer. inBuffer Designate a pointer to the data to write. outWrittenSize Specifies a pointer to the variable for receiving the size of data actually written. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsRead, and EdsRelease Note If writing is successful, the read or write position in the stream is moved ahead an amount corresponding to the size of data written. Revision History/Date Corrections Reviser Remarks
ID
Page
62
3.1.38 EdsSeek Description Moves the read or write position of the stream (that is, the file position indicator).
Syntax EdsError EdsSeek( EdsStreamRef inStreamRef, EdsInt32 EdsSeekOrigin inSeekOrigin ) inSeekOffset,
Parameters inStreamRef Designate the stream object for this operation. inSeekOffset Designate the number of bytes to move the file position indicator. inSeekOrigin Designate the origin for moving from the read or write position. Designate any of the following, as defined in enum EdsSeekOrigin. Enum EdsSeekOrigin InSeekOrigin kEdsSeek_Begin kEdsSeek_Cur kEdsSeek_End <defined location>EDSDKTypes.h Description Moves the file position indicator from the beginning of the stream forward by inOffset bytes. Moves the file position indicator from the current position in the stream forward by inOffset bytes. Moves the file position indicator from the end of the stream by inOffset bytes. To move toward the beginning, designate a negative value. Positive values will move the indicator beyond the end of the file.
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsRead, and EdsWrite
3.1.39 EdsGetPosition Description Gets the current read or write position of the stream (that is, the file position indicator).
Syntax EdsError EdsGetPosition( EdsStreamRef inStreamRef, EdsUInt32* outPosition ) Parameters inStreamRef Designate the destination stream for getting the position. Revision History/Date Corrections Reviser Remarks
ID
Page
63
outPosition On normal completion, specifies a pointer to the variable for receiving the current read or write position of the stream (that is, to the offset position from the beginning of the stream). (The beginning of the stream is 0.) Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsRead, EdsWrite, and EdsSeek Note The stream's initial read or write position is 0. If EdsWrite or EdsRead is used to write or read from the stream, the indicator is moved an amount corresponding to that size in the positive direction. When intentionally changing the read or write position of the stream, use EdsSeek.
3.1.41 EdsCopyData Description Copies data from the copy source stream to the copy destination stream. The read or write position of the data to copy is determined from the current file read or write position of the respective stream. After this API is executed, the read or write positions of the copy source and copy destination streams are moved an amount corresponding to inWriteSize in the positive direction.
Syntax EdsError EdsCopyData( Corrections Reviser Remarks Revision History/Date
ID
Page
64
EdsStreamRef inStreamRef, EdsUInt32 inWriteSize, EdsStreamRef outStreamRef) Parameters inStreamRef Designate the source stream for copying. inWriteSize Designate the number of bytes to copy . outStreamRef Designate the destination stream for copying. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateMemoryStream, EdsCreateFileStream, EdsCreateFileStreamEx, EdsRead, EdsWrite, EdsSeek, and EdsGetPosition
3.1.42 EdsCreateImageRef Description Creates an image object from an image file. Without modification, stream objects cannot be worked with as images. Thus, when extracting images from image files, you must use this API to create image objects. The image object created this way can be used to get image information (such as the height and width, number of color components, and resolution), thumbnail image data, and the image data itself.
Syntax EdsError EdsCreateImageRef( EdsStreamRef inStreamRef, EdsImageRef *outImageRef )
Parameters inStreamRef Designate the image file (or image data in the memory stream). outImageRef Specifies the pointer to the variable for receiving the image object. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateStream, EdsGetImageInfo, and EdsGetImage, EdsRelease
3.1.43 EdsGetImageInfo Description Gets image information from a designated image object. Here, image information means the image width and height, number of color components, resolution, and effective image area.
Revision History/Date Corrections Reviser Remarks
ID
Page
65
Parameters inStreamRef Designate the object for which to get image information. inImageSource Of the various image data items in the image file, designate the type of image data representing the information you want to get. Designate the image as defined in Enum EdsImageSource. Enum EdsImageSource <defined location>EDSDKTypes.h Value Description kEdsImageSrc_FullView The image itself (a full-sized image) kEdsImageSrc_Thumbnail A thumbnail image kEdsImageSrc_Preview A preview image kEdsImageSrc_RAWThumbnail A RAW thumbnail image kEdsImageSrc_RAWFullView A RAW full-sized image outImageInfo Stores the image data information designated in inImageSource. EdsImageInfo constituent elements width height numOfComponents componentDepth effectiveRect Reserved Type EdsUInt32 EdsUInt32 EdsUInt32 EdsUInt32 EdsRect EdsUInt32 Description Width (in pixels) Height (in pixels) Number of color components Resolution (8-bit or 16-bit) Note: Image files may contain image data of mixed resolutions. Effective image area (This means the area excluding the black bands on the top and bottom of the thumbnail image.) Reserved
Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateImageRef and EdsGetImage For information on data types of the EDSDK, see "Data Types Used by the APIs" in the Appendix.
3.1.44 EdsGetImage Description Gets designated image data from an image file, in the form of a designated rectangle. Returns uncompressed results for JPEG compressed images and processed results in the designated pixel order
Revision History/Date Corrections Reviser Remarks
ID
Page
66
(RGB, Top-down BGR, and so on) for RAW images. Additionally, by designating the input/output rectangle, it is possible to get reduced, enlarged, or partial images. However, because images corresponding to the designated output rectangle are always returned by the SDK, the SDK does not take the aspect ratio into account. To maintain the aspect ratio, you must keep the aspect ratio in mind when designating the rectangle. Syntax EdsError EdsGetImage( EdsImageRef EdsImageSource EdsTargetImageType EdsRect EdsSize EdsStreamRef ); inImageRef, inImageSource, inImageType, inSrcRect, inDstSize, outStreamRef
Parameters inImageRef Designate the image object for which to get the image data. inImageSource Designate the type of image data to get from the image file (thumbnail, preview, and so on). Designate values as defined in Enum EdsImageSource. Enum EdsImageSource <defined location>EDSDKTypes.h Value Description kEdsImageSrc_FullView The image itself (a full-sized image) kEdsImageSrc_Thumbnail A thumbnail image kEdsImageSrc_Preview A preview image (displayed on the back screen of the camera) kEdsImageSrc_RAWThumbnail A RAW thumbnail image kEdsImageSrc_RAWFullView A RAW full-sized image inImageType Designate the output image type. Because the output format of EdsGetImage may only be RGB, only kEdsTargetImageType_RGB or kEdsTargetImageType_RGB16 can be designated. However, image types exceeding the resolution of inImageSource cannot be designated. Example: Suppose the source image resolution (componentDepth) retrieved by means of EdsGetImageInfo() is 8 bits The resolution that can be retrieved by means of EdsGetImage () is also 8 bits Thus, only kEdsTargetImageType_RGB is available. EdsTargetImageType <defined location>EDSDKTypes.h Value Description kEdsTargetImageType_RGB 8-bit RGB, chunky format kEdsTargetImageType_RGB16 16-bit RGB, chunky format inSrcRect Designate the coordinates and size of the rectangle to be retrieved (processed) from the source image. inDstSize Designate the rectangle size for output. Revision History/Date Corrections Reviser Remarks
ID
Page
67
outStreamRef Designate the memory or file stream for output of the image. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateImageRef and EdsGetImageInfo Note To maintain the aspect ratio, you must keep the aspect ratio in mind when designating a rectangle. In calculating the data size of the output file, the original image data resolution is not used. Instead, the resolution of the image type designated by inImageType is used. For example, the calculation for kEdsTargetImageType_RGB is 3 (R, G, and B) x 8 (resolution) x width x height 8 (bytes). Similarly, kEdsTargetImageType_RGB16 is calculated by 3 x 16 x width x height 8 (bytes).
3.1.45 EdsSaveImage Description Saves as a designated image type after RAW processing.
Syntax EdsError EdsSaveImage( EdsImageRef EdsTargetImageType EdsSaveImageSetting EdsStreamRef ); inImageRef, inImageType, inSaveSetting, outStreamRef
Parameters inImageRef Designate the image object for which to produce the file. inImageType Designate the image type to produce. Designate the following image types. Enum EdsTargetImageType <defined location>EDSDKTypes.h Value Description kEdsTargetImageType _Jpeg JPEG kEdsTargetImageType _TIFF 8-bit TIFF kEdsTargetImageType _TIFF16 16-bit TIFF inSaveSetting Designate saving options, such as JPEG quality. EdsSaveImageSetting <defined location>EDSDKTypes.h EdsSaveImageSetting constituent Type Description elements JPEGQuality EdsUInt32 Image quality for JPEG compression Revision History/Date Corrections Reviser Remarks
ID
Page
68
iccProfileStream reserved
outStreamRef Specifies the output file stream. The memory stream cannot be specified here. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsCreateFileStream, EdsCreateFileStreamEx, EdsRead, and EdsWrite For information on data types of the EDSDK, see "Data Types Used by the APIs" in the Appendix. Note
3.1.46 EdsCacheImage Description Switches a setting on and off for creation of an image cache in the SDK for a designated image object during extraction (processing) of the image data. Creating the cache increases the processing speed, starting from the second time.
Syntax EdsError ); Parameters inImageRef Designate the image object. inUseCache TRUE: Image cache ON FALSE: Image cache OFF Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsGetImage and EdsSaveImage Note If the image cache is on, a corresponding amount of resources are consumed. If fast processing is not required, use the EDSDK with the cache off. EdsCacheImage( EdsImageRef EdsBool inImageRef, inUseCache
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
69
3.1.47 EdsSetCameraAddedHandler Description Registers a callback function for when a camera is detected.
Syntax EdsError EdsSetCameraAddedHandler ( EdsCameraAddedHandler inCameraAddedHandler, EdsVoid* inContext )
Parameters inCameraAddedHandler Designate the pointer to the callback function called when a camera is detected. You must implement the callback function registered this way following a prescribed type definition. The callback function type is defined as follows. Syntax typedef EdsError ( EDSCALLBACK * EdsCameraAddedHandler)(EdsVoid *inContext ) Parameters inContext Passes data for the application designated by EdsSetCameraAddedHandler. Return Values Returns EDS_ERR_OK if successful. Otherwise, ensure the implementation returns an appropriate error code. (See the EDS Error Lists). inContext Designate application information to be passed by means of the callback function. Any data needed for your application can be passed. In multithreaded environments, the callback function is executed by a thread exclusively for the event. Use it appropriately, as in designating the this pointer to pass data to UI threads. Designate a NULL pointer if it is not needed. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSetPropertyEventHandler, EdsSetObjectEventHandler, EdsSetCameraStateEventHandler, and EdsSetProgressCallback
3.1.48 EdsSetObjectEventHandler Description Registers a callback function for receiving status change notification events for objects on a remote camera. Here, object means volumes representing memory cards, files and directories, and shot images stored in memory, in particular.
Syntax EdsError EdsSetObjectEventHandler( EdsCameraRef Corrections inCameraRef, Reviser Remarks Revision History/Date
ID
Page
70
Parameters inCameraRef Designate the camera object. inEvent Designate one or all events to be supplemented. To designate all events, use kEdsObjectEvent_All. For details on events that can be designated, refer to the section on object-related events in the event lists of Asynchronous Events. inObjectEventHandler Designate the pointer to the callback function for receiving object-related camera events. The callback function registered here is called by the EDSDK when the event is received. To cancel supplementation of the event designated in the event type, designate NULL in this argument. You must implement the callback function registered this way following a prescribed type definition. The callback function type for object-related events is defined as follows. Syntax typedef EdsError ( EDSCALLBACK *EdsObjectEventHandler)( EdsObjectEvent inEvent, EdsBaseRef inRef, EdsVoid *inContext) ;
Parameters inEvent Indicate the event type supplemented. Designate one of the event types for supplementation, as designated by EdsSetObjectEventHandler. Events that occur can be determined based on the event type. inRef Returns a reference to objects created by the event. inContext Passes inContext without modification, as designated as an EdsSetObjectEventHandler argument. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. inContext Designate application information to be passed by means of the callback function. Any data needed for your application can be passed. In multithreaded environments, the callback function is executed by a thread exclusively for the event. Use it appropriately, as in designating the this pointer to pass data to UI threads. Designate a NULL pointer if it is not needed. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs Revision History/Date Corrections Reviser Remarks
ID
Page
71
EdsSetCameraAddedHandler, EdsSetPropertyEventHandler, EdsSetCameraStateEventHandler, and EdsSetProgressCallback For details on asynchronous events, refer to "Overview" and "Asynchronous Events." Note To release the event handler for events of the designated type, designate NULL in the argument of inObjectEventHandler. (The event will not occur.) Example See Sample 1.
3.1.49 EdsSetPropertyEventHandler Description Registers a callback function for receiving status change notification events for property states on a camera.
Syntax EdsError EdsSetPropertyEventHandler( EdsCameraRef EdsPropertyEvent EdsPropertyEventHandler EdsVoid* inCameraRef, inEvnet, inPropertyEventHandler, inContext );
Parameters inCameraRef Designate the camera object. inEvent Designate one or all events to be supplemented. To designate all events, use kEdsPropertyEvent_All. For details on events that can be designated, refer to the section on property-related events in the event lists of Asynchronous Events. inPropertyEventHandler Designate the pointer to the callback function for receiving property-related camera events. The callback function registered here is called by the EDSDK when the event is received. To cancel supplementation of the event designated in the event type, designate NULL in this argument. You must implement the callback function registered this way following a prescribed type definition. The callback function type for property-related events is defined as follows. Syntax typedef EdsError ( EDSCALLBACK * EdsPropertyEventHandler )( EdsPropertyEvent inEvent, EdsPropertyID inPropertyID, EdsUInt32 inParam, EdsVoid *inContext );
Parameters inEvent Indicate the event type supplemented. Designate one of the event types subject to supplementation, as designated by EdsSetPropertyEventHandler. Events that occur can be determined based on the event type. inPropertyID Revision History/Date Corrections Reviser Remarks
ID
Page
72
Returns the property ID created by the event. inParam Used to identify information created by the event for custom function (CF) properties or other properties that have multiple items of information. inContext Passes inContext without modification, as designated as an EdsSetPropertyEventHandler argument. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. inContext Designate application information to be passed by means of the callback function. Any data needed for your application can be passed. In multithreaded environments, the callback function is executed by a thread exclusively for the event. Use it appropriately, as in designating the this pointer to pass data to UI threads. Designate a NULL pointer if it is not needed. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSetCameraAddedHandler, EdsObjectEventHandler, EdsSetCameraStateEventHandler, and EdsSetProgressCallback For details on asynchronous events, refer to "Overview" and "Asynchronous Events." Note To release the event handler for events of the designated type, designate NULL in the argument of inPropertyEventHandler. (The event will not occur.) Example See Sample 1.
3.1.50 EdsSetCameraStateEventHandler Description Registers a callback function for receiving status change notification events for camera objects.
Syntax EdsError EdsSetCameraStateEventHandler( EdsCameraRef inCameraRef, EdsStateEvent inEvnet, EdsStateEventHandler inStateEventHandler, EdsVoid* inContext );
Parameters inCameraRef Designate the camera object. inEvent Revision History/Date Corrections Reviser Remarks
ID
Page
73
Designate one or all events to be supplemented. To designate all events, use kEdsStateEvent_All. For details on events that can be designated, refer to the section on events related to camera states in the event lists of Asynchronous Events. inStateEventHandler Designate the pointer to the callback function for receiving events related to camera object states. The callback function registered here is called by the EDSDK when the event is received. To cancel supplementation of the event designated in the event type, designate NULL in this argument. You must implement the callback function registered this way following a prescribed type definition. The callback function type for events related to camera states is defined as follows. Syntax typedef EdsError ( EDSCALLBACK *EdsStateEventHandler )( EdsStateEvent inEvent, EdsUInt32 inEventData, EdsVoid *inContext );
Parameters inEvent Indicate the event type supplemented. Designate one of the event types subject to supplementation, as designated by EdsSetPropertyEventHandler. Events that occur can be determined based on the event type. inEventData Pointer to the event data. The content designated here varies depending on the property type. For details, see Property Details. inContext Passes inContext without modification, as designated as an EdsSetCameraStateEventHandler argument. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. inContext Designate application information to be passed by means of the callback function. Any data needed for your application can be passed. In multithreaded environments, the callback function is executed by a thread exclusively for the event. Use it appropriately, as in designating the this pointer to pass data to UI threads. Designate a NULL pointer if it is not needed. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSetCameraAddedHandler, EdsObjectEventHandler, EdsSetObjectEventHandler, and EdsSetProgressCallback For details on asynchronous events, refer to "Overview" and "Asynchronous Events." Note To release the event handler for events of the designated type, designate NULL in the argument of inStateEventHandler. (The event will not occur.) Revision History/Date Corrections Reviser Remarks
ID
Page
74
3.1.51 EdsSetProgressCallback Description Register a progress callback function. An event is received as notification of progress during processing that takes a relatively long time, such as downloading files from a remote camera. If you register the callback function, the EDSDK calls the callback function during execution or on completion of the following APIs. This timing can be used in updating on-screen progress bars, for example.
APIs for which the progress callback function is valid EdsCopyData EdsDownload EdsGetImage EdsSaveImage Syntax EdsError EdsSetProgressCallback( EdsBaseRef EdsProgressFunc EdsProgressOption EdsVoid* inRef, inProgressCallback, inProgressOption, inContext)
Parameters inRef Designate the relevant object. EdsImageRef or EdsStreamRef are the objects of APIs for which progress callback registration is valid. inProgressCallback Designate a pointer to the progress callback function. The progress callback function type is defined as follows. Syntax typedef EdsError( EDSCALLBACK * EdsProgressCallback )( EdsUInt32 inPercent, EdsVoid *inContext, EdsBool *outCancel )
Parameters inPercent Indicates the progress in a range of 0 100%. Value range: 0 to 100 inContext The application information designated by EdsSetProgressCallback. outCancel To cancel processing in progress, set this variable to TRUE. For example, if this argument is set to TRUE during file transfer from the camera, the EDSDK notifies the camera that file transfer has been canceled, and transfer of those files is canceled. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. Revision History/Date Corrections Reviser Remarks
ID
Page
75
inProgressOption Options when this callback function is called are defined in Enum EdsProgressOption. Enum EdsProgressOption <defined location>EDSDKTypes.h Value Description kEdsProgressOption_NoReport Do not call a progress callback function. kEdsProgressOption_Done Call a progress callback function when the progress reaches 100%. kEdsProgressOption_Periodically Call a progress callback function periodically. inContext Application information, passed in the argument when the callback function is called. Any information required for your program may be added. Return Values Returns EDS_ERR_OK if successful. In other cases, see the EDS Error Lists. See Also Related APIs EdsSetCameraAddedHandler and EdsSetObjectEventHandler Note To release the event handler for events of the designated type, designate NULL in the argument of inStateEventHandler. (The event will not occur.)
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
76
3.2.1 General errors Error Type EDS_ERR_UNIMPLEMENTED EDS_ERR_INTERNAL_ERROR EDS_ERR_MEM_ALLOC_FAILED EDS_ERR_MEM_FREE_FAILED EDS_ERR_OPERATION_CANCELLED EDS_ERR_INCOMPATIBLE_VERSION EDS_ERR_NOT_SUPPORTED EDS_ERR_UNEXPECTED_EXCEPTION EDS_ERR_PROTECTION_VIOLATION EDS_ERR_MISSING_SUBCOMPONENT EDS_ERR_SELECTION_UNAVAILABLE 3.2.2 File access errors Error Type EDS_ERR_FILE_IO_ERROR EDS_ERR_FILE_TOO_MANY_OPEN EDS_ERR_FILE_NOT_FOUND EDS_ERR_FILE_OPEN_ERROR EDS_ERR_FILE_CLOSE_ERROR EDS_ERR_FILE_SEEK_ERROR EDS_ERR_FILE_TELL_ERROR EDS_ERR_FILE_READ_ERROR EDS_ERR_FILE_WRITE_ERROR EDS_ERR_FILE_PERMISSION_ERROR EDS_ERR_FILE_DISK_FULL_ERROR EDS_ERR_FILE_ALREADY_EXISTS EDS_ERR_FILE_FORMAT_UNRECOGNIZED EDS_ERR_FILE_DATA_CORRUPT EDS_ERR_FILE_NAMING_NA 3.2.3 Directory errors Error Type EDS_ERR_DIR_NOT_FOUND EDS_ERR_DIR_IO_ERROR EDS_ERR_DIR_ENTRY_NOT_FOUND EDS_ERR_DIR_ENTRY_EXISTS EDS_ERR_DIR_NOT_EMPTY
Revision History/Date
Notes Not implemented Internal error Memory allocation error Memory release error Operation canceled Version error Not supported Unexpected exception Protection violation Missing subcomponent Selection unavailable
Notes IO error Too many files open File does not exist Open error Close error Seek error Tell error Read error Write error Permission error Disk full File already exists Format error Invalid data File naming error
Notes Directory does not exist I/O error No file in directory File in directory Directory full Corrections Reviser Remarks
ID
Page
77
Notes Property (and additional property information) unavailable Property mismatch Property not loaded
3.2.5 Function parameter errors Error Type EDS_ERR_INVALID_PARAMETER EDS_ERR_INVALID_HANDLE EDS_ERR_INVALID_POINTER EDS_ERR_INVALID_INDEX EDS_ERR_INVALID_LENGTH EDS_ERR_INVALID_FN_POINTER EDS_ERR_INVALID_SORT_FN 3.2.6 Device errors Error Type EDS_ERR_DEVICE_NOT_FOUND EDS_ERR_DEVICE_BUSY
Notes Invalid function parameter Handle error Pointer error Index error Length error FN pointer error Sort FN error
EDS_ERR_DEVICE_INVALID EDS_ERR_DEVICE_EMERGENCY EDS_ERR_DEVICE_MEMORY_FULL EDS_ERR_DEVICE_INTERNAL_ERROR EDS_ERR_DEVICE_INVALID_PARAMETER EDS_ERR_DEVICE_NO_DISK EDS_ERR_DEVICE_DISK_ERROR EDS_ERR_DEVICE_CF_GATE_CHANGED EDS_ERR_DEVICE_DIAL_CHANGED EDS_ERR_DEVICE_NOT_INSTALLED EDS_ERR_DEVICE_STAY_AWAKE EDS_ERR_DEVICE_NOT_RELEASED
Notes Device not found Device busy Note: If a device busy error occurs, reissue the command after a while. The camera will become unstable. Device error Device emergency Device memory full Internal device error Device parameter invalid No disk Disk error The CF gate has been changed The dial has been changed Device not installed Device connected in awake mode Device not released
Notes Stream I/O error Stream open error Stream already open Corrections Reviser Remarks
ID
Page
78
EDS_ERR_STREAM_OPEN_ERROR EDS_ERR_STREAM_CLOSE_ERROR EDS_ERR_STREAM_SEEK_ERROR EDS_ERR_STREAM_TELL_ERROR EDS_ERR_STREAM_READ_ERROR EDS_ERR_STREAM_WRITE_ERROR EDS_ERR_STREAM_PERMISSION_ERROR EDS_ERR_STREAM_COULDNT_BEGIN_TH READ EDS_ERR_STREAM_BAD_OPTIONS EDS_ERR_STREAM_END_OF_STREAM
Failed to open stream Failed to close stream Stream seek error Stream tell error Failed to read stream Failed to write stream Permission error Could not start reading thumbnail Invalid stream option Invalid stream termination
3.2.8 Communication errors Error Type EDS_ERR_COMM_PORT_IS_IN_USE EDS_ERR_COMM_DISCONNECTED EDS_ERR_COMM_DEVICE_INCOMPATIBLE EDS_ERR_COMM_BUFFER_FULL EDS_ERR_COMM_USB_BUS_ERR 3.2.9 Camera UI lock/unlock errors Error Type EDS_ERR_USB_DEVICE_LOCK_ERROR EDS_ERR_USB_DEVICE_UNLOCK_ERROR 3.2.10 STI/WIA errors Error Type EDS_ERR_STI_UNKNOWN_ERROR EDS_ERR_STI_INTERNAL_ERROR EDS_ERR_STI_DEVICE_CREATE_ERROR EDS_ERR_STI_DEVICE_RELEASE_ERROR EDS_ERR_DEVICE_NOT_LAUNCHED 3.2.11 Other general error Error Type EDS_ERR_ENUM_NA
EDS_ERR_INVALID_FN_CALL EDS_ERR_HANDLE_NOT_FOUND EDS_ERR_INVALID_ID EDS_ERR_WAIT_TIMEOUT_ERROR EDS_ERR_LAST_GENERIC_ERROR_PLUS_O NE Revision History/Date
Notes Port in use Port disconnected Incompatible device Buffer full USB bus error
Notes Unknown STI Internal STI error Device creation error Device release error Device startup failed
Notes Enumeration terminated (there was no suitable enumeration item) Called in a mode when the function could not be used Handle not found Invalid ID Timeout Not used.
Corrections
Reviser
Remarks
ID
Page
79
3.2.12 PTP errors Error Type EDS_ERR_SESSION_NOT_OPEN EDS_ERR_INVALID_TRANSACTIONID EDS_ERR_INCOMPLETE_TRANSFER EDS_ERR_INVALID_STRAGEID EDS_ERR_DEVICEPROP_NOT_SUPPORTED EDS_ERR_INVALID_OBJECTFORMATCODE EDS_ERR_SELF_TEST_FAILED EDS_ERR_PARTIAL_DELETION EDS_ERR_SPECIFICATION_BY_FORMAT_U NSUPPORTED EDS_ERR_NO_VALID_OBJECTINFO EDS_ERR_INVALID_CODE_FORMAT EDS_ERR_UNKNOWN_VENDER_CODE EDS_ERR_CAPTURE_ALREADY_TERMINAT ED EDS_ERR_INVALID_PARENTOBJECT EDS_ERR_INVALID_DEVICEPROP_FORMAT EDS_ERR_INVALID_DEVICEPROP_VALUE EDS_ERR_SESSION_ALREADY_OPEN EDS_ERR_TRANSACTION_CANCELLED EDS_ERR_SPECIFICATION_OF_DESTINATIO N_UNSUPPORTED EDS_ERR_UNKNOWN_COMMAND EDS_ERR_OPERATION_REFUSED EDS_ERR_LENS_COVER_CLOSE EDS_ERR_OBJECT_NOTREADY 3.2.13 TakePicture errors
Error Type EDS_ERR_TAKE_PICTURE_AF_NG EDS_ERR_TAKE_PICTURE_RESERVED EDS_ERR_TAKE_PICTURE_MIRROR_UP_NG EDS_ERR_TAKE_PICTURE_SENSOR_CLEANIN G_NG EDS_ERR_TAKE_PICTURE_SILENCE_NG EDS_ERR_TAKE_PICTURE_NO_CARD_NG EDS_ERR_TAKE_PICTURE_CARD_NG EDS_ERR_TAKE_PICTURE_CARD_PROTECT_N G
Notes Session open error Invalid transaction ID Transfer problem Storage error Unsupported device property Invalid object format code Failed self-diagnosis Failed in partial deletion Unsupported format specification Invalid object information Invalid code format Unknown vendor code Capture already terminated Invalid parent object Invalid property format Invalid property value Session already open Transaction canceled Unsupported destination specification Unknown command Operation refused Lens cover closed Image data set not ready for live view
Notes Focus failed Reserved Currently configuring mirror up Currently cleaning sensor Currently performing silent operations Card not installed Error writing to card Card write protected
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
80
4. Asynchronous Events
In the case of asynchronous events, notify the host computer of changes, such as changes in the state of properties of remote cameras. To enable an application to receive issued events, you must prepare callback functions for event reception and register them in the EDSDK by means of EdsSetPropertyEventHandler, EdsSetObjectEventHandler, EdsSetCameraStateEventHandler, EdsSetCameraAddedHandler, EdsSetProgressCallback, or other APIs for configuring callback functions. For details on callback function types, see the parameters information of the APIs for callback function configuration. This section describes events that can be retrieved by callback functions registered using EdsSetPropertyEventHandler, EdsSetObjectEventHandler, and EdsSetCameraStateEventHandler in particular.
4.1.2 Property-related events Events Notification of property state changes Notification of state changes in configurable property values
4.1.3 State-related events Events Notification of camera disconnection Notification of changes in job states Notification of warnings when the camera will shut off Notification that the camera will remain on for a longer period Notification of remote release failure Notification of internal SDK errors
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
81
Description Explains the event and cites related considerations. Event Data Event data passed as event callback function arguments. Event Data Data Type The nature of the data that is passed The data type
4.2.1 kEdsStateEvent_Shutdown (Notification of camera disconnection) Description Indicates that a camera is no longer connected to a computer, whether it was disconnected by unplugging a cord, opening the compact flash compartment, turning the camera off, auto shut-off, or by other means.
Event Data Event Data None Data Type Value of inParameter
4.2.2 kEdsPropertyEvent_PropertyChanged (Notification of property state changes) Description Notifies that a camera property value has been changed. The changed property can be retrieved from event data. The changed value can be retrieved by means of EdsGetPropertyData.
If the property type is 0x0000FFFF, the changed property cannot be identified. Thus, retrieve all required properties repeatedly. Event Data Event Data The property type Data Type EdsPropertyID Value of inPropertyID A property ID
See Also For details on property IDs, see the Property Lists.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
82
4.2.3 kEdsPropertyEvent_PropertyDescChanged (Notification of state changes in configurable property values) Description Notifies of changes in the list of camera properties with configurable values. The list of configurable values for property IDs indicated in event data can be retrieved by means of EdsGetPropertyDesc.
Event Data Event Data Property type for which the list of configurable values has changed Data Type EdsPropertyID Value of inPropertyID Of the capture-related properties, those properties that have configurable values that can be retrieved; otherwise, "Unknown" (0x0000FFFF)
See Also For details on property IDs, see the Property Lists.
4.2.4 kEdsObjectEvent_DirItemCreated (Notification of file creation) Description Notifies of the creation of objects such as new folders or files on a camera compact flash card or the like. This event is generated if the camera has been set to store captured images simultaneously on the camera and a computer, for example, but not if the camera is set to store images on the computer alone. Newly created objects are indicated by event data.
Event Data Event Data New directory or file object Data Type Value of inRef EdsDirectoryItemRef Pointer to the directory or file object
4.2.5 kEdsObjectEvent_DirItemRemoved (Notification of file deletion) Description Notifies of the deletion of objects such as folders or files on a camera compact flash card or the like. Deleted objects are indicated in event data.
Event Data Event Data Deleted directory or file object Data Type Value of inRef EdsDirectoryItemRef Pointer to the directory or file object
4.2.6 kEdsObjectEvent_DirItemInfoChanged (Notification of changes in file information) Description Notifies that information of DirItem objects has been changed. Changed objects are indicated by event data. The changed value can be retrieved by means of EdsGetDirectoryItemInfo.
Event Data Revision History/Date Corrections Reviser Remarks
ID
Page
83
Data Type Value of inRef EdsDirectoryItemRef Pointer to the directory or file object
4.2.7 kEdsObjectEvent_DirItemContentChanged Description Notifies that header information has been updated, as for rotation information of image files on the camera. If this event is received, get the file header information again, as needed.
Event Data Event Data Changed file Data Type Value of inRef EdsDirectoryItemRef Pointer to the directory item object
Note To retrieve image properties, you must obtain them from image objects after using DownloadImage or DownloadThumbnail.
4.2.8 kEdsObjectEvent_VolumeInfoChanged (Notification of changes in the volume information of recording media) Description Notifies that the volume object (memory card) state (VolumeInfo) has been changed. Changed objects are indicated by event data. The changed value can be retrieved by means of EdsGetVolumeInfo.
Event Data Event Data Changed volume object
4.2.9 kEdsObjectEvent_VolumeUpdateItems (Notification of requests to update volume information) Description Notifies if the designated volume on a camera has been formatted. If notification of this event is received, get sub-items of the designated volume again as needed. Changed volume objects can be retrieved from event data.
Event Data Event Data Changed volume object Data Type EdsVolumeRef Value of inRef Pointer to the volume object
4.2.10 kEdsObjectEvent_FolderUpdateItems (Notification of requests to update folder information) Description Notifies if many images are deleted in a designated folder on a camera. If notification of this event is received, get sub-items of the designated folder again as needed.
Revision History/Date Corrections Reviser Remarks
ID
Page
84
Changed folders (specifically, directory item objects) can be retrieved from event data. Event Data Event Data Changed folder Data Type Value of inRef EdsDirectoryItemRef Pointer to the directory item object
4.2.11 kEdsStateEvent_JobStatusChanged (Notification of changes in job states) Description Notifies of whether or not there are objects waiting to be transferred to a host computer. This is useful when ensuring all shot images have been transferred when the application is closed.
Event Data Event Data Whether or not there are objects waiting to be transferred Data Type EdsUInt32 Value of inParameter 1: There are objects to be transferred 0: There are no objects to be transferred
4.2.12 kEdsObjectEvent_DirItemRequestTransfer (Notification of file transfer requests) Description Notifies that there are objects on a camera to be transferred to a computer. This event is generated after remote release from a computer or local release from a camera. If this event is received, objects indicated in the event data must be downloaded. Furthermore, if the application does not require the objects, instead of downloading them, execute EdsDownloadCancel and release resources held by the camera.
Event Data Event Data Array of directories or file objects to be transferred Data Type Value of inRef EdsDirectoryItemRef Directory or file object
4.2.13 kEdsObjectEvent_DirItemRequestTransferDT (Notification of direct transfer requests) Description Notifies if the camera's direct transfer button is pressed. If this event is received, objects indicated in the event data must be downloaded. Furthermore, if the application does not require the objects, instead of downloading them, execute EdsDownloadCancel and release resources held by the camera.
Event Data Event Data Array of directories or file objects to be transferred directly
Data Type Value of inRef EdsDirectoryItemRef Array of directories and file objects []
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
85
4.2.14 kEdsObjectEvent_DirItemCancelTransferDT (Notification of requests to cancel direct transfer) Description Notifies of requests from a camera to cancel object transfer if the button to cancel direct transfer is pressed on the camera. If the parameter is 0, it means that cancellation of transfer is requested for objects still not downloaded, with these objects indicated by kEdsObjectEvent_DirItemRequestTransferDT.
Event Data Event Data Array of directories or file objects for which to cancel transfer Data Type EdsDirectoryItemRef [] Value of inRef Array of directories and file objects
4.2.15 kEdsStateEvent_WillSoonShutDown (Notification of warnings when the camera will shut off) Description Notifies that the camera will shut down after a specific period. Generated only if auto shut-off is set. Exactly when notification is issued (that is, the number of seconds until shutdown) varies depending on the camera model. To continue operation without having the camera shut down, use EdsSendCommand to extend the auto shut-off timer. The time in seconds until the camera shuts down is returned as the initial value.
Event Data Event Data Number of seconds until the camera shuts down Data Type EdsUint32 Value of inParameter Number of seconds
4.2.16 kEdsStateEvent_ShutDownTimerUpdate (Notification that the camera will remain on for a longer period) Description As the counterpart event to kEdsStateEvent_WillSoonShutDown, this event notifies of updates to the number of seconds until a camera shuts down. After the update, the period until shutdown is model-dependent.
Event Data Event Data None Data Type Value of inParameter
4.2.17 kEdsStateEvent_CaptureError (Notification of remote release failure) Description Notifies that a requested release has failed, due to focus failure or similar factors.
Event Data Event Data Error code Revision History/Date Data Type EdsUint32 Corrections Value of inParameter Error code Reviser Remarks
ID
Page
86
Error codes received in the event data are as follows. Error Code Description 0x00000001 Shooting failure 0x00000002 The lens was closed 0x00000003 General errors from the shooting mode, such as errors from the bulb or mirror-up mechanism 0x00000004 Sensor cleaning 0x00000005 Error because the camera was set for silent operation 0x00000006 Prohibited settings using CFn-2, and no card inserted 0x00000007 Card error (including CARD-FULL/No.-FULL) 0x00000008 Write-protected
4.2.18 kEdsStateEvent_BulbExposureTime Description Notifies of the exposure time during bulb shooting. Events are issued in about one-second intervals during bulb shooting. However, this event is only issued when bulb shooting is started remotely. (kEdsCameraCommand_BulbStart)
Event Data Event Data Error code
4.2.19 kEdsStateEvent_InternalError (Notification of internal SDK errors) Description Notifies of internal SDK errors. If this error event is received, the issuing device will probably not be able to continue working properly, so cancel the remote connection.
Event Data Event Data Data Type EdsUint32 Value of inParameter Unspecified value
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
87
5. Properties
Properties of camera and images objects can be retrieved and set by means of EdsGetPropertyData, EdsSetPropertyData, and other APIs. For certain properties, if the target object is a camera, you can use the EdsGetPropertyDesc API to get the properties that can currently be set. For details, see the description of EdsGetPropertyDesc. If the target object is an image, it has properties besides current settings valuesspeciifcally, properties that store settings values at the time the image was shot. Current property settings values are usually indicated, assuming you do not particularly need the previous values. However, by designating a property ID and an OR value for kEdsPropID_AtCapture_Flag in the arguments for EdsGetPropertyData, you can get the properties at the time of shooting. For details, see the description of kEdsPropID_AtCapture_Flag properties. For the various properties there are, this section explains the objects they describe and what the properties mean.
ID
Page
88
Tone curve (standard or custom) Color effect setting Filter effect setting Gradation effect setting Processing parameter setting Color matrix setting Picture style Picture style setting details Computer settings caption for the picture style at the time of shooting
Develop Properties Value Description 0x00000300 Linear processing ON/OFF 0x00000301 Click WB coordinates 0x00000302 WB control value Capture Properties Value Description 0x00000400 Shooting mode 0x00000401 Drive mode (cap) 0x00000402 ISO sensitivity setting value 0x00000403 Metering mode 0x00000404 AF mode (cap) 0x00000405 Aperture value (cap) at the time of shooting 0x00000406 Shutter speed setting value (cap) 0x00000407 Exposure compensation (cap) 0x00000408 Flash compensation setting 0x00000409 Lens focal length information at the time of shooting 0x0000040a Number of available shots 0x0000040b ISO, auto exposure or flash exposure bracket 0x0000040c White balance bracket 0x0000040d String representing the lens name 0x0000040e Auto exposure bracket value 0x0000040f Flash exposure bracket value 0x00000410 ISO bracket value 0x00000411 Noise reduction 0x00000412 Use of the flash (activated or not) 0x00000413 Red-eye reduction 0x00000414 Flash type 0x00000416 Lens state: attached or none Other Value 0x0000FFFF Description Unknown
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
89
5.2.1 kEdsPropID_AtCapture_Flag Description A supporting property for getting the properties at the time of shooting. This property ID cannot be used by itself.
Usually, the properties you can retrieve from objects are the current settings values. However, if the target object is EdsImageRef, when getting image properties, you can get some properties at the time of shooting by designating a property ID and an OR value for kEdsPropID_AtCapture_Flag in the arguments for EdsGetPropertyData. The property types of values at the time of shooting that can be retrieved are as follows. Properties that can be retrieved for settings values at the time of shooting kEdsPropID_DigitalExposure kEdsPropID_WhiteBalance kEdsPropID_ColorTemperature kEdsPropID_WhiteBalanceShift kEdsPropID_ClickWBPoint kEdsPropID_WBCoeffs Revision History/Date Corrections Reviser Remarks
ID
Page
90
5.2.2 kEdsPropID_ProductName Description A string representing the product name. If the target object is EdsCameraRef, this property indicates the name of the remote camera. If the target object is EdsImageRef, this property indicates the name of the camera used to shoot the image.
Data Type Data type number kEdsDataType_String Target Object Target object EdsCameraRef EdsImageRef Access type Read Data type EdsChar[] Data type number kEdsDataType_String Data type EdsChar[]
5.2.3 kEdsPropID_BodyIDEx Description Indicates the product serial number. If the target object is EdsCameraRef, this property indicates the serial number of the remote camera. If the target object is EdsImageRef, this property indicates the serial number of the camera used to shoot the image.
Data Type Data type number kEdsDataType_String Target Object Target object EdsCameraRef EdsImageRef Revision History/Date Access type Read Data type EdsChar[] Data type number kEdsDataType_String Corrections Data type EdsChar[] Reviser Remarks
ID
Page
91
5.2.4 kEdsPropID_OwnerName Description Indicates a string identifying the owner as registered on the camera. If the target object is EdsCameraRef, this property indicates the owner name for the remote camera. If the target object is EdsImageRef, this property indicates the owner name for the camera used to shoot the image.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_String kEdsDataType_String Data type EdsChar[] EdsChar[]
5.2.5 kEdsPropID_Artist Description Indicates a string identifying the photographer as registered on the camera. If the target object is EdsCameraRef, this property indicates the owner name for the remote camera. If the target object is EdsImageRef, this property indicates the owner name for the camera used to shoot the image.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_String kEdsDataType_String Data type EdsChar[] EdsChar[]
5.2.6 kEdsPropID_Copyright Description Indicates a string identifying the copyright information as registered on the camera. If the target object is EdsCameraRef, this property indicates the owner name for the remote camera. If the target object is EdsImageRef, this property indicates the owner name for the camera used to shoot the image.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_String kEdsDataType_String Data type EdsChar[] EdsChar[]
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
92
Value ASCII strings, including null-terminated strings. For our purposes: "Canon".
5.2.8 kEdsPropID_DateTime Description Indicates the time and date set on the camera or the shooting date and time of images. If the target object is EdsCameraRef, this property indicates the camera system time. If the target object is EdsImageRef, this property indicates the time and date of shooting.
Target Object Target object EdsCameraRef EdsImageRef Access type Read Read
Value The time and date as an EdsTime type; for Read or Write operations.
ID
Page
93
Indicates the camera battery level. When the battery reaches a particular level, a kEdsPropertyEvent_PropertyChanged event is generated. The battery level that triggers the event is model-dependent. Target Object Target object EdsCameraRef Value Value 0100 0xffffffff Access type Read Data type number kEdsDataType_UInt32 Description Battery level (%) AC power Data type EdsUInt32
5.2.12 kEdsPropID_FocusInfo Description Indicates focus information for image data at the time of shooting. This property does not depend on the AF mode at the time of shooting. AF frames in focus are indicated by JustFocus, even during manual shooting. The EOS 50D or EOS 5D Mark II or later cameras obtain the AF frame from EdsCameraRef. The value obtained during live view operations is different.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
94
Live View When operating When stopped Target Object Target object EdsCameraRef EdsImageRef Value Element imageRect pointNumber focusPoint valid Access type Read Read
AF Frame The AF frame depending on the AF mode during live view set for the camera The AF frame during Quick Mode Data type number kEdsDataType_FocusInfo kEdsDataType_FocusInfo Data type EdsFocusInfo EdsFocusInfo
Value The upper-left coordinates of the image, as well as the width and height AF frame number Invalid AF frame: 0 Valid AF frame: 1 Note: There are as many valid AF frames as the number in FrameNumber. Usually, AF frames are recorded consecutively, starting with 0. Note: AF frame coordinates and the array number for storage vary by model. Selected AF Frame: 1 Unselected AF Frame: 0 In focus: 1 Out of focus: 0 Upper-left and lower-right coordinates of the AF frame Reserved
5.2.13 kEdsPropID_ICCProfile Description Indicates the ICC profile data embedded in an image. An error is returned if you use EdsGetPropertyData to attempt to get the ICC profile of an image without an embedded ICC profile.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_ByteBlock Data type EdsInt8[]
ID
Page
95
Indicates the image quality. If you designate EdsCameraRef as the target object, this property indicates the current image quality set on the camera. Target Object Target object EdsCameraRef Value Bit number 24-31 20-23 16-19 12-15 8-11 4-7 0-3 Access type Read/Write Data type number kEdsDataType_UInt32 Value Values defined in enum EdsImageSize Values defined in enum EdsImageFormat Values defined in enum EdsImageCompressQuality Values defined in enum EdsImageSize Values defined in enum EdsImageFormat Values defined in enum EdsImageCompressQuality Data type EdsUInt32
Description Image Size of the main image Image Format of the main image Image Compress Quality of the main image reserved Image Size of the secondary image Image Format of the secondary image Image Compress Quality of the secondary image
EdsImageType <defined location>EDSDKTypes.h Value Description kEdsTargetImageType _Unknown Folder, or unknown image type kEdsTargetImageType _Jpeg JPEG kEdsImageType_CRW CRW kEdsImageType_CR2 CR2 EdsImageSize Value 0 1 2 5 6 14 15 16 0xFFFFFFFF EdsCompressQuality Value 2 3 Revision History/Date <defined location>EDSDKTypes.h Description Large Medium Small Medium 1 Medium 2 Small1 Small2 Small3 Unknown <defined location>EDSDKTypes.h Description Normal Fine Corrections Reviser Remarks
ID
Page
96
4 5 0xFFFFFFFF
Note These appropriate values are enumerated in EDSDKTypes.h. Small Raw1 and Small Raw2 are only EOS 50D and EOS 5D Mark II.
5.2.15 kEdsPropID_JpegQuality Description Indicates the JPEG compression. In the inParam argument, designate Image Size as retrieved by means of the kEdsPropID_ImageQuality property. This property is valid for the EOS 1 series only.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number KEdsDataType_UInt32 Data type EdsUInt32
5.2.16 kEdsPropID_Orientation Description Indicates image rotation information. This property can be read or written, regardless of the image compression format (RAW, JPEG, and so on); the access type is Read/Write.
Target Object Target object EdsImageRef Value Value Description The 0th row is at the visual top of the image, and the 0th column is on the visual left-hand side The 0th row is at the visual bottom of the image, and the 0th column is on the visual right-hand side The 0th row is on the visual right-hand side of the image, and the 0th column is at the visual top U: Up D: Down L: Left R: Right U L+R D D R+L U L D+U R Remarks Access type Read/Write Data type number kEdsDataType_UInt32 Data type EdsUInt32
1 3 6
Revision History/Date
Corrections
Reviser
ID
Page
97
8 Other
The 0th row is on the visual left-hand side of the image, and the 0th column is at the visual bottom Reserved
R U+D L
Note Rotation information is retrieved from images' Exif information. Thus, images rotated by means of a software tool of computer may be displayed differently from how they would appear using the actual rotation information.
5.2.17 kEdsPropID_AEMode Description Indicates settings values of the camera in shooting mode. You cannot set (that is, Write) this property on cameras with a mode dial. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set. However, you cannot get a list of settable values from models featuring a dial. The GetPropertyDesc return value will be EDS_ERR_OK, and no items will be listed as values you can set. The shooting mode is in either an applied or simple shooting zone. When a camera is in a shooting mode of the simple shooting zone, a variety of capture-related properties (such as for auto focus, drive mode, and metering mode) are automatically set to the optimal values. Thus, when the camera is in a shooting mode of a simple shooting zone, capture-related properties cannot be set on the camera.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/(Write) Read Data type number kEdsDataType_UInt32 Data type EdsUInt32
Value Values defined in Enum EdsAEMode. Enum EdsAEMode Value 0 1 2 3 Description Program AE Shutter-Speed Priority AE Aperture Priority AE Manual Exposure
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
98
Bulb Note: For some models, the value of the property cannot be retrieved as kEdsPropID_AEMode. In this case, Bulb is retrieved as the value of the shutter speed (kEdsPropID_Tv) property. Note: Bulb is designed so that it cannot be set on cameras from a computer by means of SetPropertyData. Auto Depth-of-Field AE Depth-of-Field AE Camera settings registered Lock Auto
5 6 7 8 9
Night Scene Portrait Sports Portrait Landscape Close-Up Flash Off Creative Auto Photo In Movie (This value is valid for only Image.) Not valid/no settings changes
5.2.18 kEdsPropID_DriveMode Description Indicates settings values of the camera in drive mode.
Target Object Revision History/Date Corrections Reviser Remarks
ID
Page
99
Target object EdsCameraRef EdsImageRef Value Value 0x00000000 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0x00000007 0x00000010 0x00000011 Note
Video Not used High-Speed Continuous Shooting Low-Speed Continuous Shooting Silent single shooting 10-Sec Self-Timer plus continuous shots 10-Sec Self-Timer 2-Sec Self-Timer
EOS-1D Mark III doesnt record Silent single shooting in the image file.
5.2.19 kEdsPropID_ISOSpeed Description Indicates ISO sensitivity settings values. Caution is advised because it is possible to retrieve different values by means of EdsCameraRef and EdsImageRef. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_Uint32 Data type EdsUInt32
Value (EdsCameraRef) Value Description 0x00000028 ISO 6 0x00000030 ISO 12 0x00000038 ISO 25 0x00000040 ISO 50 0x00000048 ISO 100
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
100
0x0000004b 0x0000004d 0x00000050 0x00000053 0x00000055 0x00000058 0x0000005b 0x0000005d 0x00000060 0x00000063 0x00000065 0x00000068 0x00000070 0x00000078 0x00000080 0x00000088 0x00000090 0x00000098 0xffffffff
ISO 125 ISO 160 ISO 200 ISO 250 ISO 320 ISO 400 ISO 500 ISO 640 ISO 800 ISO 1000 ISO 1250 ISO 1600 ISO 3200 ISO 6400 ISO 12800 ISO 25600 ISO 51200 ISO 102400 Not valid/no settings changes
Value (EdsImageRef) Value Description 50 ISO 50 100 ISO 100 200 ISO 200 400 ISO 400 800 ISO 800 1600 ISO 1600 3200 ISO 3200 6400 ISO 6400 12800 ISO 12800 25600 ISO 25600 51200 ISO 51200 102400 ISO 102400 The value you can retrieve from the image data, indicated by EdsImageRef, represents the ISO value itself.
5.2.20 kEdsPropID_MeteringMode Description Indicates the metering mode. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set.
Target Object Target object EdsCameraRef EdsImageRef Revision History/Date Access type Read/Write Read Data type number kEdsDataType_Uint32 Corrections Data type EdsUInt32 Reviser Remarks
ID
Page
101
Value Value 1
3 Partial metering 4 Center-weighted averaging metering 5 0xFFFFFFFF Note For details on various metering modes, see the camera user's manual. Not valid/no settings changes
Description One-Shot AF AI Servo AF AI Focus AF Manual Focus Not valid/no settings changes
ID
Page
102
Caution is advised because EdsCameraRef and EdsImageRef yield different data types and values. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set. Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_Uint32 kEdsType_Rational Value 0x40 0x43 0x44 0x45 0x48 0x4B 0x4C 0x4D 0x50 0x53 0x54 0x55 0x58 0x5B 0x5C 0x5D 0x60 0x63 0x64 0x65 0x68 0x6B 0x6C 0x6D 0x70 0xffffffff Data type EdsUInt32 EdsRational Aperture value 11 13 (1/3) 13 14 16 18 19 20 22 25 27 29 32 36 38 40 45 51 54 57 64 72 76 80 91 Not valid/no settings changes
Value (EdsCameraRef) Value Aperture value 0x08 1 0x0B 1.1 0x0C 1.2 0x0D 1.2 (1/3) 0x10 1.4 0x13 1.6 0x14 1.8 0x15 1.8 (1/3) 0x18 2 0x1B 2.2 0x1C 2.5 0x1D 2.5 (1/3) 0x20 2.8 0x23 3.2 0x24 3.5 0x25 3.5 (1/3) 0x28 4 0x2B 4.5 0x2C 4.5 0x2D 5.0 0x30 5.6 0x33 6.3 0x34 6.7 0x35 7.1 0x38 8 0x3B 9
0x3C 9.5 0x3D 10 Note: Values labeled "(1/3)" represent property values when the step set in the Custom Function is 1/3. Value (EdsImageRef) Returns the aperture value as an EdsRational type.
ID
Page
103
Indicates the shutter speed. Caution is advised because EdsCameraRef and EdsImageRef yield different values. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set. Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_Uint32 kEdsType_Rational Value 0x5D 0x60 0x63 0x64 0x65 0x68 0x6B 0x6C 0x6D 0x70 0x73 0x74 0x75 0x78 0x7B 0x7C 0x7D 0x80 0x83 0x84 0x85 0x88 0x8B 0x8C 0x8D 0x90 0x93 0x94 0x95 0x98 0x9B 0x9C 0x9D 0xA0 0xffffffff Data type EdsUInt32 EdsRational
Value (EdsCameraRef) Value Shutter speed 0x0C Bulb 0x10 30" 0x13 25" 0x14 20" 0x15 20" (1/3) 0x18 15" 0x1B 13" 0x1C 10" 0x1D 10" (1/3) 0x20 8" 0x23 6" (1/3) 0x24 6" 0x25 5" 0x28 4" 0x2B 3"2 0x2C 3" 0x2D 2"5 0x30 2" 0x33 1"6 0x34 1"5 0x35 1"3 0x38 1" 0x3B 0"8 0x3C 0"7 0x3D 0"6 0x40 0"5 0x43 0"4 0x44 0"3 0x45 0"3 (1/3) 0x48 1/4 0x4B 1/5 0x4C 1/6 0x4D 1/6 (1/3) 0x50 1/8 0x53 0x54 1/10 (1/3) 1/10 Corrections
Shutter speed 1/25 1/30 1/40 1/45 1/50 1/60 1/80 1/90 1/100 1/125 1/160 1/180 1/200 1/250 1/320 1/350 1/400 1/500 1/640 1/750 1/800 1/1000 1/1250 1/1500 1/1600 1/2000 1/2500 1/3000 1/3200 1/4000 1/5000 1/6000 1/6400 1/8000 Not valid/no settings changes
Revision History/Date
Reviser
Remarks
ID
Page
104
0x55 1/13 0x58 1/15 0x5B 1/20 (1/3) 0x5C 1/20 Note: Values labeled "(1/3)" represent property values when the step set in the Custom Function is 1/3. Value (EdsImageRef) Returns the shutter speed value as a kEdsType_Rational type. Note Bulb is designed so that it cannot be set on cameras from a computer by means of SetPropertyData. (It cannot even be retrieved by means of GetPropertyDesc as a value that can be set.) This is because incorrect handling of Bulb would prevent shutter control from a computer.
5.2.24 kEdsPropID_ExposureCompensation Description Indicates the exposure compensation. Exposure compensation refers to compensation relative to the position of the standard exposure mark (in the center of the exposure gauge). Caution is advised because EdsCameraRef and EdsImageRef yield different values. If the target object is EdsCameraRef, you can use GetPropertyDesc to access this property and get a list of property values that can currently be set.
Target Object Target object EdsCameraRef EdsImageRef Access type Read/Write Read Data type number kEdsDataType_Uint32 kEdsType_Rational Value 0xFD 0xFC 0xFB 0xF8 0xF5 0xF4 0xF3 0xF0 0xED 0xEC 0xEB 0xE8 0xffffffff Data type EdsUInt32 EdsRational
Value (EdsCameraRef) Value Exposure compensation 0x18 +3 0x15 +2 2/3 0x14 +2 1/2 0x13 +2 1/3 0x10 +2 0x0D +1 2/3 0x0C +1 1/2 0x0B +1 1/3 0x08 +1 0x05 +2/3 0x04 +1/2 0x03 +1/3 0x00 0
Exposure compensation 1/3 1/2 2/3 1 1 1/3 1 1/2 1 2/3 2 2 1/3 2 1/2 2 2/3 3 Not valid/no settings changes
ID
Page
105
Returns the exposure compensation as a kEdsType_Rational type. Note Exposure compensation is not available if the camera is in manual exposure mode. Thus, the exposure compensation property is invalid.
5.2.25 kEdsPropID_DigitalExposure Description Indicates the digital exposure compensation. As the digital exposure compensation, a value is returned representing the compensation for brightness. This is equivalent to the exposure at the time of shooting as adjusted for the aperture plus or minus several steps.
Target Object Target object Access type Data type number Data type EdsImageRef Read/Write kEdsType_Rational EdsRational Note: Write is available as the access type with EdsImageRef only for RAW images. Value Returns the digital exposure compensation as a kEdsType_Rational type. Note With this property, it is possible to get values at the time of shooting.
5.2.26 kEdsPropID_FlashCompensation Description Indicates the flash compensation. Note that flash compensation cannot be retrieved for an external flash.
Target Object Target object EdsCameraRef Access type Read Data type number kEdsDataType_Uint32 Data type EdsUInt32
Value The flash compensation is the same value as the exposure compensation property kEdsPropID_ExposureCompensation.
5.2.27 kEdsPropID_FocalLength Description Indicates the focal length of the lens. When a single-focus lens is used, the same value is returned for the Wide and Tele focal length. You can obtain three items of information at once by using EdsGetPropertyData to get this property: the focal length at the time of shooting, the focal length of Wide, and the focal length of Tele. In this case, the buffer storing this property data is passed in three parts. However, if you prefer to get only the focal length at the time of
Revision History/Date Corrections Reviser Remarks
ID
Page
106
shooting, you can get only that single part of the buffer. Example: To get only the focal length at the time of shooting EdsRatioal ratVal ; err = EdsGetPropertyData( ref, kEdsPropID_FocalLength, 0, sizeof( EdsRational ), &ratVal ) ; Target Object Target object EdsImageRef Value Array number 0 1 2 Access type Read Data type number kEdsDataType_Rational_Array Data type EdsRational[]
Description Focal length at the time of shooting Wide focal length Tele focal length
Value
5.2.29 kEdsPropID_Bracket Description Indicates the current bracket type. If multiple brackets have been set on the camera, you can get the bracket type as a logical sum. This property cannot be used to get bracket compensation. Compensation is collected separately because there are separate properties for each bracket type.
Target Object Target object EdsCameraRef EdsImageRef Value Revision History/Date Corrections Reviser Remarks Access type Read Data type number kEdsDataType_Uint32 Data type EdsUInt32
ID
Page
107
Values defined in Enum EdsBracket. Enum EdsBracket Value 0x01 0x02 0x04 0x08 0xFFFFFFFF <defined location>EDSDKType.h Description AE bracket ISO bracket WB bracket FE bracket Bracket off
Value Returns the AE bracket compensation. For details on the compensation range and number of steps, see the camera user's manual.
5.2.31 kEdsPropID_FEBracket Description Indicates the FE bracket compensation at the time of shooting of image data.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_Rational Data type EdsRational
Value Returns the FE bracket compensation. For details on the compensation range and number of steps, see the camera user's manual.
5.2.32 kEdsPropID_ISOBracket Description Indicates the ISO bracket compensation at the time of shooting of image data.
Target Object Target object EdsImageRef Value Revision History/Date Corrections Reviser Remarks Access type Read Data type number kEdsDataType_Rational Data type EdsRational
ID
Page
108
Returns the ISO bracket compensation. For details on the compensation range and number of steps, see the camera user's manual.
5.2.33 kEdsPropID_ WhiteBalanceBracket Description Indicates the white balance bracket amount.
Target Object Target object EdsCameraRef EdsImageRef Access type Read Data type number Data type
kEdsDataType_Int32_Array EdsInt32[]
BracketValueAB The bracket amount from the WhiteBalanceShift position toward AB 2 BracketValueGM 0 to +9 The bracket amount from the WhiteBalanceShift position toward GM Note: "AB" means the bracket toward amber-blue and "GM" toward green-magenta.
Note Under the camera specifications, AB and GM modes cannot be set at the same time. Depending on the model, it may not be possible to get an accurate value. For example, no value is specified in BracketMode for the EOS Kiss Digital N/350D/REBEL XT, and 3 is specified in BracketValueAB regardless of the bracket amount. (It can be known that the camera's WB bracket has been set.) Value (EdsImageRef) Array Description number 0 BracketMode Value 0 = OFF 1 = Mode AB 2 = Mode GM 0xFFFFFFFF = Not Supported 9 to +9 (B directionA direction)
1 2
BracketValueAB The bracket amount from the WhiteBalanceShift position toward AB BracketValueGM The bracket amount from the WhiteBalanceShift position toward GM
9 to +9 (G directionM direction)
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
109
ID
Page
110
Custom white balance: PC-3 12 Manual 2 15 Manual 3 16 Manual 4 18 Manual 5 19 Custom white balance: PC-4 20 Custom white balance: PC-5 21 1 2 Setting the white balance by clicking image coordinates White balance copied from another image
Note If the white balance type is "Color Temperature," to know the actual color temperature you must reference another property (kEdsPropID_ColorTemperature). With this property, it is possible to get values at the time of shooting.
5.2.35 kEdsPropID_ColorTemperature Description Indicates the color temperature setting value. (Units: Kelvin) Valid only when the white balance is set to Color Temperature.
Target Object Target object Access type Data type number Data type EdsCameraRef Read/Write kEdsDataType_UInt32 EdsUInt32 EdsImageRef Read/Write Note: Write is available as the access type with EdsImageRef only for RAW images. Value 280010000, in 100-Kelvin increments. 5200 represents a color temperature of 5200 K. Note To know if the white balance is set to color temperature, refer to another property (kEdsPropID_WhiteBalance). With this property, it is possible to get values at the time of shooting. Revision History/Date Corrections Reviser Remarks
ID
Page
111
Note With this property, it is possible to get values at the time of shooting.
5.2.37 kEdsPropID_ClickWBPoint Description Indicates the coordinates when an image is clicked to set the white balance. Only writing is valid. If you designate coordinates for this property, the white balance value for those coordinates is incorporated in the property kEdsPropID_WBCoeffs.
Target Object Target object EdsImageRef
Value Designate coordinates within the range of the target image. Note With this property, it is possible to get values at the time of shooting. Revision History/Date Corrections Reviser Remarks
ID
Page
112
5.2.38 kEdsPropID_WBCoeffs Description Indicates the white balance value. You can apply this value to other image properties, to process images under the same white balance.
Target Object Target object Access type Data type number Data type EdsImageRef Read/Write kEdsDataType_ByteBlock EdsInt8[] Note: Write is available as the access type with EdsImageRef only for RAW images. Value Coefficients to maintain a specific white balance. Use unmodified data from a source image with a white balance you want to copy. Note With this property, it is possible to get values at the time of shooting.
5.2.39 kEdsPropID_Linear Description Indicates if linear processing is activated or not. This property is valid only if 16-bit TIFF or 16-bit RGB has been set for image processing.
Target Object Target object Access type Data type number Data type EdsImageRef Read/Write kEdsDataType_Bool EdsBool Note: Write is available as the access type with EdsImageRef only for RAW images. Value TRUE: FALSE: Linear processing Not linear processing
Note With this property, it is possible to get values at the time of shooting.
ID
Page
113
Value (EdsImageRef for models other than 1D and 1Ds) Value Description 0 to 5 1 series models 2 to 2 20D, Kiss Digital N/350D/REBEL XT 0x7FFFFFFF Unknown Value (EdsImageRef, 1D and 1Ds) Array number Description 0 Sharpness Value 0: Invalid 1 2 3 4 5 Weaker <> Stronger 0 1 2 3 4 5 Rough <> Fine
Applicable sharpness
Note This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
5.2.41 kEdsPropID_ParameterSet Description Indicates the current processing parameter set on a camera. Only valid for the EOS 1D Mark II and EOS 1Ds Mark II.
Target Object Target object EdsCameraRef Value Value 0 1 2 3 Access type Read/Write Description Standard (Read only) Processing parameter 1 Processing parameter 2 Processing parameter 3 Data type number kEdsDataType_UInt32 Data type EdsUInt32
5.2.42 kEdsPropID_ColorSaturation Description Indicates the saturation. If the target object is EdsCameraRef and you designate ColorMatrix in inParam, this property corresponds to the saturation setting value of ColorMatrix. By using inParam = 0, you can designate the current saturation value.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
114
2 to 2
0x7FFFFFFF
Description For the 20D, Kiss Digital N/350D/REBEL XT, 1D Mark II, or 1Ds Mark II Unknown
Note This property cannot be retrieved or set from EdsCameraRef for the 20D or Kiss Digital N/350D/REBEL XT. This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
5.2.43 kEdsPropID_ColorMatrix Description Indicates the color matrix. Only valid for the EOS 1D Mark II and EOS 1Ds Mark II.
Target Object Target object EdsImageRef Access type Read Data type number Data type kEdsDataType_UInt32 EdsUInt32
Value Values defined in Enum EdsColorMatrix. Enum EdsColorMatrix <defined location>EDSDKTypes.h Value Description 1 ColorMatrix1 2 ColorMatrix2 3 ColorMatrix3 4 ColorMatrix4 5 ColorMatrix5 6 ColorMatrix6 7 ColorMatrix7 Unknown 0x7FFFFFFF Note: "Unknown" also applies for a color matrix customized on a computer and set on the camera. Note With this property, it is possible to get values at the time of shooting.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
115
5.2.44 kEdsPropID_Contrast Description Indicates the contrast. If the target object is EdsCameraRef and you designate the processing parameter set in inParam, this property corresponds to that setting value. By using inParam = 0, you can designate the current contrast value.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_Int32 Data type EdsInt32
Description 20D, Kiss Digital N/350D/REBEL XT, 1D Mark II, 1Ds Mark II Unknown
Note This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
Description 20D, Kiss Digital N/350D/REBEL XT, 1D Mark II, 1Ds Mark II Unknown
Note This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
5.2.46 kEdsPropID_ColorSpace Description Indicates the color space. If the target object is EdsCameraRef and you designate ColorMatrix in inParam, this property corresponds to the
Revision History/Date Corrections Reviser Remarks
ID
Page
116
color space setting value of ColorMatrix. Similarly, if you designate the processing parameter in inParam, it indicates that setting value. By using inParam = 0, you can designate the current color space. Target Object Target object Access type Data type number Data type EdsCameraRef Read/Write kEdsDataType_UInt32 EdsUInt32 EdsImageRef Read/Write Note: Write is available as the access type with EdsImageRef only for RAW images. Value Values of Enum EdsColorSpace. Enum EdsColorSpace <defined location>EDSDKTypes.h Value Description 1 sRGB 2 Adobe RGB 0xFFFFFFFF Unknown Note With this property, it is possible to get values at the time of shooting.
5.2.47 kEdsPropID_PhotoEffect Description Indicates the photo effect. This property is valid only for the 20D and Kiss Digital N/350D/REBEL XT.
Target Object Target object Access type Data type number Data type EdsImageRef Read kEdsDataType_UInt32 EdsUInt32 Note: Write is available as the access type with EdsImageRef only for RAW images. Value Values defined in Enum EdsPhotoEffect. Enum EdsPhotoEffect Value 0 5 <defined location>EDSDKTypes.h Description Off (Color Effect deactivated. Normal shooting.) Black and white
Note With this property, it is possible to get values at the time of shooting.
5.2.48 kEdsPropID_FilterEffect Description Indicates the monochrome filter effect. The supported models are the Kiss Digital N/350D/REBEL XT and 20D only.
Revision History/Date Corrections Reviser Remarks
ID
Page
117
Data type
kEdsDataType_UInt32 EdsUInt32
Value Values defined in Enum EdsFilterEffect. Enum EdsFilterEffect <defined location>EDSDKTypes.h Value Description 0 None 1 Yellow 2 Orange 3 Red 4 Green Note This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
5.2.49 kEdsPropID_ToningEffect Description Indicates the monochrome tone. The supported models are the Kiss Digital N/350D/REBEL XT and 20D only.
Target Object Target object EdsImageRef Value Value 0 1 2 3 4 0xffffffff
Note This property is invalid for models supporting picture styles. For models supporting picture styles, use the property kEdsPropID_PictureStyleDesc. With this property, it is possible to get values at the time of shooting.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
118
5.2.51 kEdsPropID_PictureStyle Description Indicates the picture style. This property is valid only for models supporting picture styles. To get or set the picture style registered in "User Setting," designate user setting 1 (kEdsPictureStyle_User1 ) in inParam. By using inParam = 0, you can designate the current picture style.
Target Object Target object Access type Data type number Data type EdsCameraRef Read/Write kEdsDataType_UInt32 EdsUInt32 EdsImageRef Read/Write Note: Write is available as the access type with EdsImageRef only for RAW images. Value Values defined in Enum EdsPictureStyle. However, kEdsPictureStyle_UserX in Enum EdsPictureStyle is not used here. Enum EdsPictureStyle Value 0x0081 0x0082 0x0083 Revision History/Date <defined location>EDSDKTypes.h Picture style Standard Portrait Landscape Corrections Reviser Remarks
ID
Page
119
Neutral Faithful Monochrome Auto (only for supported models). Computer Setting 1 (base picture style only) Computer Setting 2 (base picture style only) Computer Setting 3 (base picture style only)
Note Computer settings (1 and so on) refers to data that was set by designating a picture style file to upload to the camera from a host computer. Computer setting data is registered in the corresponding user setting. (For example, computer setting 1 corresponds to user setting 1). As a user setting, it represents a picture style that users can select. Picture styles registered in computer settings always have a base picture style. As for picture styles other than presets, only base picture styles can be retrieved by means of this property value. With this property, it is possible to get values at the time of shooting.
5.2.52 kEdsPropID_PictureStyleDesc Description Indicates settings for each picture style. This property is valid only for models supporting picture styles.
With EdsGetPropertyData or EdsSetPropertyData, you can designate a picture style in inParam to set that picture style setting item. By using inParam = 0, you can designate the current picture style. Target Object Target object Access type Data type number Data type EdsCameraRef Read/Write kEdsDataType_PictureStyleDesc EdsPictureStyleDesc EdsImageRef Read/Write Note: Write is available as the access type with EdsImageRef only for RAW images. Value Value An integer from 4 to 4 An integer from 0 to 7 An integer from 4 to 4 An integer from 4 to 4 0: None 1: Yellow 2: Orange 3: Red 4: Green 0xFFFFFFFF: Unknown 0: None 1: Sepia 2: Blue 3: Violet Revision History/Date Picture style Contrast Sharpness Saturation Color tone Monochrome filter effect
Monochrome tone
Corrections
Reviser
Remarks
ID
Page
120
4: Green 0xFFFFFFFF: Unknown Note Write is available as the access type with EdsImageRef objects only for RAW images. Processed images are read-only. With this property, it is possible to get values at the time of shooting.
5.2.53 kEdsPropID_FlashOn Description Indicates if the flash was on at the time of shooting.
Target Object Target object EdsImageRef Value Value 0 1 Access type Read Description No flash Flash Data type number kEdsDataType_Uint32 Data type EdsUInt32
5.2.54 kEdsPropID_FlashMode Description Indicates the flash type at the time of shooting.
Target Object Target object EdsImageRef Value Array number 0 Description Flash type Access type Read Data type number Data type kEdsDataType_Uint32_Array EdsUInt32[] Value 0 = None (the "flash type" item itself is not displayed) 1 = Internal 2 = external E-TTL 3 = external A-TTL 0xFFFFFFFF = Invalid value 0 = 1st Curtain Synchro 1 = 2nd Curtain Synchro 0xFFFFFFFF = Invalid value
Synchro timing
ID
Page
121
Indicates red-eye reduction. Target Object Target object EdsImageRef Value Value 0 1
0xFFFFFFFF
5.2.57 kEdsPropID_PictureStyleCaption Description Returns the user-specified picture style caption name at the time of shooting. This property is valid only for models supporting picture styles. User-specified picture styles refer to picture styles for which picture style files are read on a host computer and set on a camera.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_String Data type EdsChar[]
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
122
Value Values defined in Enum EdsSaveTo. Enum EdsSaveTo Value 1 2 3 <defined location>EDSDKTypes.h Description Save on a memory card of a remote camera Save by downloading to a host computer Save both ways
Note If kEdsSaveTo_Host or kEdsSaveTo_Both is used, the camera caches the image data to be transferred until DownloadComplete or CancelDownload APIs are executed on the host computer (by an application). The application creates a callback function to receive camera events. If kEdsObjectEvent_DirItemRequestTransfer or kEdsObjectEvent_DirItemRequestTransferDT events are received, the application must execute DownloadComplete (after downloading) or CancelDownload (if images are not needed) for the camera.
5.2.59 kEdsPropID_LensStatus Description Returns the camera state of whether the lens attached to the camera. This property can only be retrieved from images shot using models the EOS 50D or EOS 5D Mark II or later.
Target Object Target object EdsCameraRef Access type Read Data type number kEds_EdsUInt32 Data type EdsUInt32
Value Returns the lens name as an EdsUInt32 value. Value Description 0 The lens is not attached. The lens is attahced 1
5.2.60 kEdsPropID_LensName Description Returns the lens name at the time of shooting. This property can only be retrieved from images shot using models supporting picture styles.
Target Object Revision History/Date Corrections Reviser Remarks
ID
Page
123
5.2.61 kEdsPropID_CurrentStorage Description Gets the current storage media for the camera.
Target Object Target object EdsCameraRef Value Current media nameCF,SD,HDD Access type Read Data type number kEdsDataType_String Data type EdsChar[]
5.2.62 kEdsPropID_CurrentFolder Description Gets the current folder for the camera.
Target Object Target object EdsCameraRef Value Current folder name Access type Read Data type number kEdsDataType_String Data type EdsChar[]
5.2.63 kEdsPropID_HDDirectoryStructure Description Gets the directory structure information for USB storage. You can get the directory name currently targeted by specifying 0 in inParam. You can get specifiable directory names by specifying a value of 1 or higher in inParam. You can change the USB storage directory by specifying 0 for inParam and setting a specifiable directory name.
Target Object Target object EdsCameraRef Access type Read / Write Data type number kEdsDataType_String Data type EdsChar[]
ID
Page
124
Starts/ends live view. The camera TFT and PC to be used as the output device for live view can be specified. If a PC only is set for the output device, UILock status will be set for the camera except for the SET button. Target Object Target object EdsCameraRef
Description Live view is displayed on the cameras TFT The live view image can be transferred to the PC
5.2.66 kEdsPropID_Evf_WhiteBalance Description Gets/sets the white balance of the live view image. The white balance for the live view image can be set separately from that for the image being shot. Target Object Target object Access type Data type number Data type EdsCameraRef Read / Write kEdsDataType_Uint32 EdsUInt32
Value This is the same as kEdsPropID_WhiteBalance.
5.2.67 kEdsPropID_Evf_ColorTemperature Description Gets/sets the color temperature of the live view image. Just as with the white balance setting for the live view image, the color temperature for the live view image can also be set separately from that for the image being shot.
Revision History/Date Corrections Reviser Remarks
ID
Page
125
This is applied to the image only when the live view white balance is set to Color temperature. Target Object Target object EdsCameraRef Access type Read / Write Data type number Data type kEdsDataType_Uint32 EdsUInt32
5.2.68 kEdsPropID_Evf_DepthOfFieldPreview Description Turns the depth of field ON/OFF during Preview mode. If kEdsEvfOutputDevice is set to KEdsEvfOutputDevice_PC and depth of field is being used, the camera will be put in UI Lock status.
Target Object Target object EdsCameraRef Value Value 0 1 Access type Read / Write Description OFF ON Data type number Data type kEdsDataType_Uint32 EdsUInt32
5.2.69 kEdsPropID_Evf_Zoom Description Gets/sets the zoom ratio for the live view. The zoom ratio is set using EdsCameraRef, but obtained using live view image data, in other words, by using EdsEvfImageRef.
Target Object Target object EdsCameraRef EdsEvfImageRef Value Value 1 : kEdsEvfZoom_Fit 5 : kEdsEvfZoom_x5 10 : kEdsEvfZoom_x10 Access type Write Read Data type number Data type kEdsDataType_UInt32 EdsUInt32 kEdsDataType_UInt32 EdsUInt32 Description Entire screen 5 times 10 times
5.2.70 kEdsPropID_Evf_ZoomPosition Description Gets/sets the focus and zoom border position for live view.
Revision History/Date Corrections Reviser Remarks
ID
Page
126
The focus and zoom border is set using EdsCameraRef, but obtained using live view image data, in otherwords, by using EdsEvfImageRef. Target Object Target object EdsCameraRef EdsEvfImageRef Access type Write Read Data type number kEdsDataType_Point kEdsDataType_Point Data type EdsPoint EdsPoint
Value The coordinates are the upper left coordinates of the focus and zoom border. These values expressed in a coordinate system of kEdsPropID_Evf_CoordinateSystem. Note The size of the focus and zoom border is one fifth the size of kEdsPropID_Evf_CoordinateSystem when 5x zoom or the entire screen is used, and one tenth the size of kEdsPropID_Evf_CoordinateSystem when 10x zoom is used. The coordinate set through this property will be rounded to the nearest amount that is available in the camera.
5.2.71 kEdsPropID_Evf_ZoomRect
Description Gets the focus and zoom border rectangle for live view. The focus and zoom border is obtained using EdsEvfImageRef. Target Object Target object EdsEvfImageRef Access type Read Data type number kEdsDataType_Point Data type EdsRect
Value The point member is the upper left coordinates of the focus and zoom border. And the size member is the rectangle of focus border size. These values expressed in a coordinate system of kEdsPropID_Evf_CoordinateSystem.
5.2.72 kEdsPropID_Evf_ImagePosition Description Gets the cropping position of the enlarged live view image.
Target Object Target object EdsEvfImageRef Access type Read Data type number kEdsDataType_Point Data type EdsPoint
Value The coordinates used are the upper left coordinates of the enlarged image. These values expressed in a coordinate system of kEdsPropID_Evf_CoordinateSystem.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
127
5.2.73 kEdsPropID_Evf_CoordinateSystem
Description Get the coordinate system of the live view image. Target Object Target object EdsEvfImageRef Access type Read Data type number kEdsDataType_Point Data type EdsSize
Value The coordinate system is used to express each value of the live view image. See Also kEdsPropID_Evf_ZoomPosition kEdsPropID_Evf_ZoomRect kEdsPropID_Evf_ImagePosition
5.2.74 kEdsPropID_Evf_Histogram Description Gets the histogram for live view image data. The histogram can be used to obtain YRGB.
Target Object Target object EdsEvfImageRef Access type Read Data type number Data type kEdsDataType_ByteBlock EdsUInt32[]
Value The histogram stores data in the form Y(0)R(0)G(0)B(0)Y(1)R(1)G(1)B(1)Y(n)R(n)G(n)B(n).. (0<=n<=255). Cumulative values in the histogram differ from the total number of pixels in the image data.
5.2.75 kEdsPropID_Evf_HistogramStatus Description Gets the display status of the histogram. The display status of the histogram varies depending on settings such as whether live view exposure simulation is ON/OFF, whether strobe shooting is used, whether bulb shooting is used, etc.
Target Object Target object EdsEvfImageRef Access type Read Data type number Data type kEdsDataType_Uint32 EdsUInt32 Description Hide the histogram Display the histogram Grayout the histogram
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
128
5.2.76 kEdsPropID_Evf_AFMode Description Set/Get the AF mode for the live view. This property can set/get from the EOS 50D or EOS 5D Mark II or later.
Target Object Target object EdsCameraRef Access type Read / Write Data type number Data type kEdsDataType_Uint32 EdsUInt32 Description Quick Mode Live Mode Live Face Mode
5.2.77 kEdsPropID_GPSVersionID Description Indicates the version of GPSInfoIFD. The version is given as 2.2.0.0.
Target Object Target object EdsImageRef Value Default = 2.2.0.0 Access type Read Data type number kEdsDataType_Uint8 Data type EdsUInt8
5.2.78 kEdsPropID_GPSLatitudeRef Description Indicates whether the latitude is north or south latitude. The value 'N' indicates north latitude,and 'S' is south latitude.
Target Object Target object EdsImageRef Value Value 'N' 'S' Access type Read Data type number kEdsDataType_String Description North latitude South latitude Data type EdsChar[]
ID
Page
129
Indicates the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_Rational_Array Data type EdsRational[]
5.2.80 kEdsPropID_GPSLongitudeRef Description Indicates whether the longitude is east or west longitude. 'E' indicates east longitude, and 'W'is west longitude.
Target Object Target object EdsImageRef Value Value 'E' 'W' Access type Read Data type number kEdsDataType_String Description East longitude West longitude Data type EdsChar[]
5.2.81 kEdsPropID_GPSLongitude Description Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees,minutes, and seconds, respectively.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_Rational_Array Data type EdsRational[]
5.2.82 kEdsPropID_GPSAltitudeRef Description Indicates the altitude used as the reference altitude. If the reference is sea level and the altitude is above sea level, 0 is given. If the altitude is below sea level, a value of 1 is given and the altitude is indicated as an absolute value in the GPSAltitude. The reference unit is meters.
Target Object Target object EdsImageRef Value Value 0 1 Revision History/Date Access type Read Data type number kEdsDataType_UInt8 Data type EdsUInt8
Description Sea level Sea level reference (negative value) Corrections Reviser Remarks
ID
Page
130
5.2.83 kEdsPropID_GPSAltitude Description Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is expressed as one RATIONAL value. The reference unit is meters.
Target Object Target object EdsImageRef Access type Read Data type number Data type kEdsDataType_Rational EdsRational
5.2.84 kEdsPropID_GPSTimeStamp Description Indicates the time as UTC (Coordinated Universal Time). TimeStamp is expressed as three RATIONAL values giving the hour, minute, and second.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_Rational_Array Data type EdsRational[]
5.2.85 kEdsPropID_GPSSatellites Description Indicates the GPS satellites used for measurements.
Target Object Target object EdsImageRef
5.2.86 kEdsPropID_GPSMapDatum Description Indicates the geodetic survey data used by the GPS receiver.
Target Object Target object EdsImageRef Access type Read Data type number kEdsDataType_String Data type EdsChar[]
5.2.87 kEdsPropID_GPSDateStamp Description A character string recording date and time information relative to UTC (Coordinated Universal Time). The format is "YYYY:MM:DD." The length of the string is 11 bytes including NULL.
Revision History/Date Corrections Reviser Remarks
ID
Page
131
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
132
6. Appendix
6.1 Using the EDSDK
In order to install an application built using EDSDK on a computer where it will be executed, that computer must be set up as an environment that can execute EDSDK for the application installer. Windows version Be sure to copy all EDSDK modules into the application sub folder. Note1: Be absolutely sure when you overwrite the old version of the library whenever a new version of EDSDK becomes available. We recommend that you copy files while comparing file versions of the library. Note2: Do not copy the EDSDK module to the Windows System folder or Windows folder. Note3: In order to connect to an EOS digital camera, the correct device driver software must be installed and a connection between the camera and the host PC must be established. (Driver software is not needed when using a camera model that performs PTP communications.) For details, see the installation method for drivers in the software installation guide included with your EOS digital camera. Macintosh version Be sure to copy EDSDK.framework into the application folder. ${AppFolder}/Contents/frameworks/ *Do not individually change or delete files in the EDSDK.framework folder. Note1: Be absolutely sure when you overwrite the old version of the library whenever a new version of EDSDK becomes available. We recommend that you copy files while comparing file versions of the library. Note2: Do not copy the EDSDK module to extention folders in addition to system folders.
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
133
6.2.1 EdsDirectoryItemInfo This structure represents directory item information for the memory card in the camera. It is specified as an argument to EdsGetDirectoryItemInfo.
typedef struct tagEdsDirectoryItemInfo { EdsUInt32 size; EdsBool isFolder; EdsUInt32 groupID; EdsUInt32 option; EdsChar szFileName[ EDS_MAX_NAME ]; } EdsDirectoryItemInfo;
6.2.2 EdsPropertyDesc This structure represents a list of settable property data. It is specified as an argument to EdsGetPropertyDesc.
typedef struct tagEdsPropertyDesc { EdsInt32 form; EdsAccess access; EdsInt32 numElements; EdsInt32 propDesc[128]; }EdsPropertyDesc;
6.2.4 EdsSize This structure generally represents the width and height of a rectangle.
typedef struct tagEdsSize { EdsInt32 width; EdsInt32 height; } EdsSize;
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
134
6.2.5 EdsRect This structure is generally used to indicate the coordinates of a rectangle.
typedef struct tagEdsRect { EdsPoint point; EdsSize size; } EdsRect;
6.2.6 EdsImageInfo This structure represents various information found in image data. It is specified as an argument to EdsGetImageInfo.
typedef struct tagEdsImageInfo{ EdsUInt32 width; EdsUInt32 height; // image width // image height
EdsUInt32 numOfComponents; // number of color components in image. EdsUInt32 componentDepth; // bits per sample. 8 or 16. EdsRect effectiveRect; // Effective rectangles except // a black line of the image. // A black line might be in the top and bottom // of the thumbnail image.
6.2.7 EdsTime This structure represents the camera time or the shooting date of an image. It is used to store kEdsPropID_DateTime property data.
typedef struct tagEdsTime{ EdsUInt32 year; EdsUInt32 month; EdsUInt32 day; EdsUInt32 hour; EdsUInt32 minute; EdsUInt32 second; EdsUInt32 milliseconds; } EdsTime; // year // month 1=January, 2=February, ... // day // hour // minute // second // reserved
6.2.8 EdsFocusPoint
This structure represents the AF frame information of focus information. It stores AF frame information of the kEdsPropID_FocusInfo property.
typedef struct tag EdsFrameDesc{ EdsUInt32 valid; // if the frame is valid. EdsUInt32 justFocus; // if the frame is just focus. EdsRect rect; // rectangle of the frame. EdsUInt32 reserved; // reserved } EdsFocusPoint;
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
135
6.2.9 EdsFocusInfo This structure represents focus information. It stores kEdsPropID_FocusInfo property data.
typedef struct tagEdsFocusInfo { EdsRect imageRect; EdsUInt32 pointNumber; EdsFocusPoint focusPoint[128]; EdsUInt32 executeMode; }EdsFocusInfo; // rectangle of the image. // number of frames. // each frame's description. // execute mode
6.2.10 EdsRational This structure is generally used to represent fractions. It is used with many properties such as kEdsPropID_Av and kEdsPropID_Tv.
typedef struct tagEdsRational { EdsInt32 numerator; EdsUInt32 denominator; } EdsRational;
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
136
6.3.1 SAMPLE1
void applicationRun() { EdsError err = EDS_ERR_OK; EdsCameraRef camera = NULL; bool isSDKLoaded = false; // Initialize SDK err = EdsInitializeSDK(); if(err == EDS_ERR_OK) { isSDKLoaded = true; } // Get first camera if(err == EDS_ERR_OK) { err = getFirstCamera (&camera); } // Set event handler if(err == EDS_ERR_OK) { err = EdsSetObjectEventHandler(camera, } // Set event handler if(err == EDS_ERR_OK) { err = EdsSetPropertyEventHandler(camera,
} // Set event handler if(err == EDS_ERR_OK) { err = EdsSetPropertyEventHandler(camera, } // Open session with camera
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
137
if(err == EDS_ERR_OK) { err = EdsOpenSession(camera); } ///// // do something //// // Close session with camera if(err == EDS_ERR_OK) { err = EdsCloseSession(camera); } // Release camera if(camera != NULL) { EdsRelease(camera); } // Terminate SDK if(isSDKLoaded) { EdsTerminateSDK(); } }
EdsError EDSCALLBACK handleObjectEvent( EdsObjectEvent event, EdsBaseRef object, EdsVoid * context) { // do something /* switch(event) { case kEdsObjectEvent_DirItemRequestTransfer: downloadImage(object); break; default: break; } */
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
138
{ EdsRelease(object); } }
EdsError EDSCALLBACK handleSateEvent (EdsPropertyEvent event, EdsPropertyID property, EdsVoid * context) { // do something } EdsError EDSCALLBACK handleSateEvent (EdsCameraStateEvent event, EdsUInt32 parameter, EdsVoid * context) { // do something }
6.3.2 SAMPLE2
EdsError getFirstCamera(EdsCameraRef *camera) { EdsError err = EDS_ERR_OK; EdsCameraListRef cameraList = NULL; EdsUInt32 count = 0; // Get camera list err = EdsGetCameraList(&cameraList); // Get number of cameras if(err == EDS_ERR_OK) { err = EdsGetChildCount(cameraList, &count); if(count == 0) { err = EDS_ERR_DEVICE_NOT_FOUND; } } // Get first camera retrieved if(err == EDS_ERR_OK) { err = EdsGetChildAtIndex(cameraList , 0 , camera); } // Release camera list if(cameraList != NULL) {
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
139
6.3.3 SAMPLE3
Getting a property
EdsUInt32 *Tv)
EdsError getTv(EdsCameraRef camera, { EdsError err = EDS_ERR_OK; EdsUInt32 dataType; EdsUInt32 dataSize; err = EdsGetPropertySize(camera,
kEdsPropID_Tv,
0,
&dataType,
&dataSize);
kEdsPropID_Tv,
0,
dataSize, Tv);
6.3.4 SAMPLE4
Getting a propertydesc
*TvDesc)
EdsError getTvDesc(EdsCameraRef camera, const EdsPropertyDesc { EdsError err = EDS_ERR_OK; err = EdsGetPropertyDesc(camera, return err; } kEdsPropID_Tv, TvDesc);
6.3.5 SAMPLE5
Setting a property
&TvValue);
6.3.6 SAMPLE6
Downloading an image
Corrections Reviser Remarks
Revision History/Date
ID
Page
140
EdsError downloadImage(EdsDirectoryItemRef directoryItem) { EdsError err = EDS_ERR_OK; EdsStreamRef stream = NULL; // Get directory item information EdsDirectoryItemInfo dirItemInfo; err = EdsGetDirectoryItemInfo(directoryItem, & dirItemInfo); // Create file stream for transfer destination if(err == EDS_ERR_OK) { err = EdsCreateFileStream( dirItemInfo.szFileName, kEdsFile_CreateAlways, kEdsAccess_ReadWrite, &stream); } // Download image if(err == EDS_ERR_OK) { err = EdsDownload( directoryItem, dirItemInfo.Size, stream); } // Issue notification that download is complete if(err == EDS_ERR_OK) { err = EdsDownloadComplete(directoryItem); } // Release stream if( stream != NULL) { EdsRelease(stream); stream = NULL; } return err; }
6.3.7 SAMPLE7
EdsError getVolume(EdsCameraRef camera, EdsVolumeRef * volume) { EdsError err = EDS_ERR_OK; EdsUInt32 count = 0; // Get the number of camera volumes err = EdsGetChildCount(camera, &count); if(err == EDS_ERR_OK && count == 0)
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
141
{ err =EDS_ERR_DIR_NOT_FOUND; } // Get initial volume if(err == EDS_ERR_OK) { err = EdsGetChildAtIndex(camera, 0 , &volume); } }
6.3.8 SAMPLE8
EdsError getDCIMFolder(EdsVolumeRef volume, EdsDirectoryItemRef * directoryItem) { EdsError err = EDS_ERR_OK; EdsDirectoryItemRef dirItem = NULL; EdsDirectoryItemInfo dirItemInfo; EdsUInt32 count = 0; // Get number of items under the volume err = EdsGetChildCount(volume, &count); if(err == EDS_ERR_OK && count == 0) { err =EDS_ERR_DIR_NOT_FOUND; } // Get DCIM folder if(int i = 0 ; i < count && err == EDS_ERR_OK; i++) { // Get the ith item under the specifed volume if(err == EDS_ERR_OK) { err = EdsGetChildAtIndex(volume, i , &dirItem); } // Get retrieved item information if(err == EDS_ERR_OK) { err = EdsGetDirectoryItemInfo(dirItem, &dirItemInfo) } // Indicates whether or not the retrieved item is a DCIM folder. if(err == EDS_ERR_OK) { if( stricmp(dirItemInfo.szFileName, DCIM) == 0 && dirItemInfo.isFolder == true) { directoryItem = dirItem; break; } } // Release retrieved item if(dirItem)
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
142
6.3.9 SAMPLE9
Taking a picture
EdsError BulbStart(EdsCameraRef camera) { EdsError err; bool locked = false; err = EdsSendStatusCommand( camera, kEdsCameraStatusCommand_UILock, 0); if(err == EDS_ERR_OK) { locked = true; } if(err == EDS_ERR_OK) { err = EdsSendCommand( camera, kEdsCameraCommand_BulbStart, 0); } if(err != EDS_ERR_OK && locked) { err = EdsSendStatusCommand (camera, kEdsCameraStatusCommand_UIUnLock, 0); } return err; }
EdsError BulbStop(EdsCameraRef camera) { EdsError err; err = EdsSendCommand( camera ,kEdsCameraCommand_BulbEnd, 0); EdsSendStatusCommand(camera, kEdsCameraStatusCommand_UIUnLock, 0); return err; }
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
143
0 , , sizeof(device), &device );
// PC live view starts by setting the PC as the output device for the live view image. if(err == EDS_ERR_OK) { device |= kEdsEvfOutputDevice_PC; err = EdsSetPropertyData(camera, kEdsPropID_Evf_OutputDevice, 0 , sizeof(device), &device); } // A property change event notification is issued from the camera if property settings are made successfully. // Start downloading of the live view image once the property change notification arrives. } EdsError downloadEvfData(EdsCameraRef camera) { EdsError err = EDS_ERR_OK; EdsStreamRef stream = NULL; EdsEvfImageRef = NULL; // Create memory stream. err = EdsCreateMemoryStream( 0, &stream); // Create EvfImageRef. if(err == EDS_ERR_OK) { err = EdsCreateEvfImageRef(stream, &evfImage); } // Download live view image data. if(err == EDS_ERR_OK) { err = EdsDownloadEvfImage(camera, evfImage); } // Get the incidental data of the image. if(err == EDS_ERR_OK) { // Get the zoom ratio EdsUInt32 zoom; EdsGetPropertyData(erfImage kEdsPropID_Evf_ZoomPosition, 0 , sizeof(zoom), &zoom); // Get the focus and zoom border position EdsPoint point; EdsGetPropertyData(erfImage kEdsPropID_Evf_ZoomPosition, 0 , sizeof(point), &point);
Revision History/Date
Corrections
Reviser
Remarks
ID
Page
144
} // // Display image // // Release stream if(stream != NULL) { EdsRelease(stream); Stream = NULL; } // Release evfImage if(evfImage != NULL) { EdsRelease(evfImage); evfImage = NULL; } } EdsError endLiveview(EdsCameraRef camera) { EdsError err = EDS_ERR_OK; // Get the output device for the live view image EdsUInt32 device; err = EdsGetPropertyData(camera, kEdsPropID_Evf_OutputDevice,
0 , , sizeof(device), &device );
// PC live view ends if the PC is disconnected from the live view image output device. if(err == EDS_ERR_OK) { device &= ~kEdsEvfOutputDevice_PC; err = EdsSetPropertyData(camera, kEdsPropID_Evf_OutputDevice, 0 , sizeof(device), &device); } }
Revision History/Date
Corrections
Reviser
Remarks