Во-первых, добро пожаловать в StackOverflow.
Совет на будущее: скопируйте / вставьте код в свой вопрос, а не ссылку на изображение. Всем легче читать и, возможно, копировать их, чтобы самим попробовать.
Теперь к вашему вопросу:
Откуда берется ручка CamConn
? Весьма вероятно, что вызов OpenConnection уже возвращает неверную ошибку дескриптора.
Чтобы получить действительный дескриптор камеры, вам необходимо сделать следующее:
public IntPtr[] GetConnectedCameraPointers()
{
// get a list of connected cameras
EDSDK.EdsGetCameraList(out IntPtr cameraList);
// get the number of entries in that list
EDSDK.EdsGetChildCount(cameraList, out int cameraCount);
// create an array for the camera pointers and iterate through the list
var cameras = new IntPtr[cameraCount];
for (int i = 0; i < cameraCount; i++)
{
// gets an item of the list at the specified index
EDSDK.EdsGetChildAtIndex(cameraList, i, out IntPtr cameraPtr);
// get a device info for that camera, this is optional but may interesting to have
EDSDK.EdsGetDeviceInfo(cameraPtr, out EdsDeviceInfo cameraInfo);
// store the camera pointer in our array
cameras[i] = cameraPtr;
}
// release the camera list
EDSDK.EdsRelease(cameraList);
return cameras;
}
Обратите внимание, что я не проверял вернули коды ошибок для простоты, но вы обязательно должны их проверить.