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; }
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); }