In short, you should
- init the camera connection and session through USB
- set kEdsPropID_SaveTo to kEdsSaveTo_Host or kEdsSaveTo_Both
- register an object event handler with the EDSDK
- wait for a kEdsObjectEvent_DirItemRequestTransfer event
- execute or cancel the downloading of the image (DownloadComplete (after downloading) or CancelDownload (if images are not needed))
for C# specific examples, see other posts like Canon sdk internal error at edsDownload