public static void ThrowCameraError(int hr)
        {
            if (hr >= 0)
            {
                return;
            }
            string cameraErrorString = CameraError.GetCameraErrorString(hr);

            if (cameraErrorString != null)
            {
                throw new COMException(cameraErrorString, hr);
            }
            Marshal.ThrowExceptionForHR(hr);
        }
        public static string GetCameraErrorString(int hr)
        {
            StringBuilder buf = new StringBuilder(256, 256);

            return(CameraError.AMGetErrorText(hr, buf, 256) > 0 ? buf.ToString() : (string)null);
        }