public IEnumerable <Camera> GetCameras() { UInt32 returnValue; IntPtr cameraListPointer; returnValue = EDSDK.EdsGetCameraList(out cameraListPointer); ReturnValueManager.HandleFunctionReturnValue(returnValue); try { Int32 cameraListCount; returnValue = EDSDK.EdsGetChildCount(cameraListPointer, out cameraListCount); ReturnValueManager.HandleFunctionReturnValue(returnValue); for (var i = 0; i < cameraListCount; ++i) { IntPtr cameraPointer; returnValue = EDSDK.EdsGetChildAtIndex(cameraListPointer, i, out cameraPointer); ReturnValueManager.HandleFunctionReturnValue(returnValue); Camera camera = new Camera(cameraPointer); yield return(camera); } } finally { // Release Camera List Pointer if (cameraListPointer != IntPtr.Zero) { EDSDK.EdsRelease(cameraListPointer); } } }
/// <summary> /// Terminates the SDK. /// </summary> /// <remarks></remarks> private void terminateSDK() { UInt32 returnValue = EDSDK.EdsTerminateSDK(); ReturnValueManager.HandleFunctionReturnValue(returnValue); }
/// <summary> /// Initializes the SDK. /// </summary> /// <remarks></remarks> private void initializeSDK() { UInt32 returnValue = EDSDK.EdsInitializeSDK(); ReturnValueManager.HandleFunctionReturnValue(returnValue); }