OMProperty * ImplAAFPropertyDef::CreateOMProperty () const { OMProperty * result = 0; if (_OMPropCreateFunc) { result = _OMPropCreateFunc (_pid, name()); } if (! result) { // Either there was no create func, or an existing one deferred // to the type def. ImplAAFTypeDefSP ptd; AAFRESULT hr = GetTypeDef (&ptd); ASSERTU (AAFRESULT_SUCCEEDED (hr)); ASSERTU (ptd); result = ptd->pvtCreateOMProperty (_pid, name()); } return result; }