AAFRESULT STDMETHODCALLTYPE ImplAAFMultipleDescriptor::GetFileDescriptors ( ImplEnumAAFFileDescriptors **ppEnum) { if (ppEnum == NULL) return AAFRESULT_NULL_PARAM; ImplEnumAAFFileDescriptors *theEnum = (ImplEnumAAFFileDescriptors *)CreateImpl(CLSID_EnumAAFFileDescriptors); XPROTECT() { OMStrongReferenceVectorIterator<ImplAAFFileDescriptor> *iter = new OMStrongReferenceVectorIterator<ImplAAFFileDescriptor>(_Descriptors); if (iter == 0) RAISE(AAFRESULT_NOMEMORY); CHECK(theEnum->Initialize(&CLSID_EnumAAFFileDescriptors, this, iter)); *ppEnum = theEnum; } XEXCEPT { if (theEnum) theEnum->ReleaseReference(); theEnum = 0; } XEND; return AAFRESULT_SUCCESS; }