예제 #1
0
 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);
 }
예제 #2
0
 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);
 }