示例#1
0
        public HRESULT GetString(Guid guidKey, string pwszValue, uint cchBufSize, IntPtr pcchLength)
        {
            var hr = _type.GetString(guidKey, pwszValue, cchBufSize, pcchLength);

            Trace("guid: " + guidKey.ToName() + " value: " + pwszValue + " size: " + cchBufSize + " hr: " + hr);
            return(hr);
        }
示例#2
0
        public static string GetString(this IMFMediaType input, Guid key, string defaultValue = null)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            if (input.GetStringLength(key, out var length).IsError)
            {
                return(defaultValue);
            }

            var s = new string('\0', (int)length);

            input.GetString(key, s, length, IntPtr.Zero).ThrowOnError();
            return(s);
        }
        public static string GetString(this IMFMediaType obj, Guid key, string defaultValue = null)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            if (obj.GetStringLength(key, out var length).IsError)
            {
                return(defaultValue);
            }

            var s = new string('\0', (int)length);

            length++;
            obj.GetString(key, s, length, ref length).ThrowOnError();
            return(s);
        }