/// <include file='doc\AxHost.uex' path='docs/doc[@for="AxHost.AxContainer.EnumObjects"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> int UnsafeNativeMethods.IOleContainer.EnumObjects(int grfFlags, out UnsafeNativeMethods.IEnumUnknown ppenum) { Debug.WriteLineIf(AxHTraceSwitch.TraceVerbose, "in EnumObjects"); ppenum = null; if ((grfFlags & 1) != 0) { // 1 == OLECONTF_EMBEDDINGS Debug.Assert(parent != null, "gotta have it..."); ArrayList list = new ArrayList(); ListAxControls(list, true); if (list.Count > 0) { Object[] temp = new Object[list.Count]; list.CopyTo(temp, 0); ppenum = new EnumUnknown(temp); return NativeMethods.S_OK; } } ppenum = new EnumUnknown(null); return NativeMethods.S_OK; }
///<summary> /// IOPCServer::CreateGroupEnumerator - Creates various enumerators for the groups provided by the Server. ///</summary> public void CreateGroupEnumerator(OpcRcw.Da.OPCENUMSCOPE dwScope, ref Guid riid, out object ppUnk) { lock (m_lock) { try { switch (dwScope) { case OPCENUMSCOPE.OPC_ENUM_PUBLIC: case OPCENUMSCOPE.OPC_ENUM_PUBLIC_CONNECTIONS: { if (riid == typeof(OpcRcw.Comn.IEnumString).GUID) { ppUnk = new EnumString(null); return; } if (riid == typeof(OpcRcw.Comn.IEnumUnknown).GUID) { ppUnk = new EnumUnknown(null); return; } throw ComUtils.CreateComException("E_NOINTERFACE", ResultIds.E_NOINTERFACE); } } if (riid == typeof(IEnumUnknown).GUID) { ppUnk = new EnumUnknown(m_groups); return; } if (riid == typeof(OpcRcw.Comn.IEnumString).GUID) { ArrayList names = new ArrayList(m_groups.Count); foreach (string name in m_groups.Keys) { names.Add(name); } ppUnk = new EnumString(names); return; } throw ComUtils.CreateComException("E_NOINTERFACE", ResultIds.E_NOINTERFACE); } catch (Exception e) { throw ComUtils.CreateComException(e); } } }
void UnsafeNativeMethods.IEnumUnknown.Clone(out UnsafeNativeMethods.IEnumUnknown ppenum) { ppenum = new EnumUnknown(arr, loc); }
HRESULT Ole32.IEnumUnknown.Clone(out Ole32.IEnumUnknown ppenum) { ppenum = new EnumUnknown(arr, loc); return(HRESULT.S_OK); }