예제 #1
0
 public int FindChildren(IDiaSymbol parent, SymTagEnum symTag, String name, NameSearchOptions compareFlags, out IDiaEnumSymbols enumSymbols)
 {
     enumSymbols = null;
     IntPtr _enumSymbols;
     int hr;
     unsafe
     {
         fixed (char* _name = name)
         {
             hr = S.StdCall<int>(GetVTableMember(8), Punk, parent.Punk, (int)symTag, _name, (int)compareFlags, out _enumSymbols);
         }
     }
     GC.KeepAlive(this);
     GC.KeepAlive(parent);
     if (hr != S_OK)
         return hr;
     enumSymbols = new IDiaEnumSymbols(_enumSymbols);
     return hr;
 }
예제 #2
0
        public unsafe int FindChildren(IDiaSymbol parent, SymTagEnum symTag, string name, NameSearchOptions compareFlags, out IDiaEnumSymbols enumSymbols)
        {
            enumSymbols = null;
            IntPtr _enumSymbols;
            int    hr;

            fixed(char *_name = name)
            {
                hr = S.StdCall <int>(GetVTableMember(8), Punk, parent.Punk, (int)symTag, _name, (int)compareFlags, out _enumSymbols);
            }

            GC.KeepAlive(this);
            GC.KeepAlive(parent);
            if (hr != S_OK)
            {
                return(hr);
            }
            enumSymbols = new IDiaEnumSymbols(_enumSymbols);
            return(hr);
        }