I looked at both SDKs when I selected cameras. I ended up working with the Canon EOS 50D and their EDSDK. Canon has a wrapper class in its code, and all P / Invoke are ready to use. That was the main reason I used it. Some types of P / Invoke are a little strange. I had problems figuring out some types of object references that needed to be attributed to some internal structures ... A lot of trial and error. In the end, I got him to work, and he works well. I have live image capture and static image capture working for it.
Sorry, I can’t speak for the Nikon SDK. I just chose Canon because P / Invoke was already there. The disadvantage of EDSDK is that it only works with the EOS line.
Here is some more information .
Nate
source share