public void Open() { if (!camera.HasValue) { uint cameraId; Pv.CameraClose(cameraInfo.UniqueId); tErr err = Pv.CameraOpen(cameraInfo.UniqueId, tAccessFlags.eAccessMaster, out cameraId); if (err != tErr.eErrSuccess) { throw new PvException(err); } camera = cameraId; communicationManager = new CommunicationsManager(cameraId); CommunicationManager.TransmitCommand(new ValuelessCommand((byte)CommandCode.Initialize)); } }