public HResult CreatePresentationDescriptor(out IMFPresentationDescriptor ppPresentationDescriptor) { ppPresentationDescriptor = null; HResult hr = CheckShutdown(); if (MFError.Succeeded(hr) && (_eSourceState == SourceState.SourceState_Opening || _eSourceState == SourceState.SourceState_Invalid || null == _spPresentationDescriptor)) { hr = HResult.MF_E_NOT_INITIALIZED; } if (MFError.Succeeded(hr)) { hr = _spPresentationDescriptor.Clone(out ppPresentationDescriptor); } return(hr); }