我一直试图让这项工作有一段时间了......阅读了很多帖子,但没有一个能解决这个问题.
我使用Canon SDK连接到EOS 550D.我正在运行win7 64bit和Visual Studio c#2010.
我一步一步做的是:
- > 0 Init SDK
err = EDSDK.EdsInitializeSDK();
Run Code Online (Sandbox Code Playgroud)
- > 1获取相机列表
err = EDSDK.EdsGetCameraList(out cameraList);
Run Code Online (Sandbox Code Playgroud)
- > 2让孩子数
err = EDSDK.EdsGetChildCount(cameraList, out cameraCount);
Run Code Online (Sandbox Code Playgroud)
- > 3如果有孩子,请先生孩子
err = EDSDK.EdsGetChildAtIndex(cameraList, 0, out cameraDev);
Run Code Online (Sandbox Code Playgroud)
- > 4开会
err = EDSDK.EdsOpenSession(cameraDev);
Run Code Online (Sandbox Code Playgroud)
- > 5告诉sdk在本地保存图像
IntPtr saveTo = (IntPtr)EDSDK.EdsSaveTo.Host;
err = EDSDK.EdsSetPropertyData(cameraDev, EDSDK.PropID_SaveTo, 0, 4, saveTo);
Run Code Online (Sandbox Code Playgroud)
- > 6设置主机上的可用容量
EDSDK.EdsCapacity capacity = new EDSDK.EdsCapacity();
if (err == EDSDK.EDS_ERR_OK)
{
capacity.NumberOfFreeClusters = 0x7FFFFFFF;
capacity.BytesPerSector = 0x1000;
capacity.Reset …Run Code Online (Sandbox Code Playgroud)