private bool InitFromProxyFileInfo(ProxyFileInfo proxy_file_info, IList <NdrComProxyDefinition> interfaces) { string[] names = proxy_file_info.GetNames(_reader); CInterfaceStubHeader[] stubs = proxy_file_info.GetStubs(_reader); Guid[] base_iids = proxy_file_info.GetBaseIids(_reader); for (int i = 0; i < names.Length; ++i) { interfaces.Add(new NdrComProxyDefinition(names[i], stubs[i].GetIid(_reader), base_iids[i], stubs[i].DispatchTableCount, ReadProcs(base_iids[i], stubs[i]))); } return(true); }
private bool InitFromProxyFileInfo(ProxyFileInfo proxy_file_info, IList <NdrComProxyDefinition> interfaces, HashSet <Guid> iid_set) { string[] names = proxy_file_info.GetNames(_reader); CInterfaceStubHeader[] stubs = proxy_file_info.GetStubs(_reader); Guid[] base_iids = proxy_file_info.GetBaseIids(_reader); for (int i = 0; i < names.Length; ++i) { Guid iid = stubs[i].GetIid(_reader); if (iid_set.Count == 0 || iid_set.Contains(iid)) { interfaces.Add(new NdrComProxyDefinition(names[i], iid, base_iids[i], stubs[i].DispatchTableCount, ReadProcs(base_iids[i], stubs[i]))); } } return(true); }