public int EnumChildren(enum_DEBUGPROP_INFO_FLAGS dwFields, uint dwRadix, ref Guid guidFilter, enum_DBG_ATTRIB_FLAGS dwAttribFilter, string pszNameFilter, uint dwTimeout, out IEnumDebugPropertyInfo2 ppEnum) { uint thId; thread.GetThreadId(out thId); var children = engine.DebuggedProcess.EnumChildren(GetVariableReference(), (int)thId, dwTimeout); DEBUG_PROPERTY_INFO[] info = new DEBUG_PROPERTY_INFO[children.Length]; for (int i = 0; i < children.Length; i++) { var vi = children[i]; ILProperty prop = new ILProperty(engine, thread, vi); if (vi.Type == VariableTypes.IndexAccess) { prop.Parameters = new VariableReference[] { VariableReference.GetInteger(vi.Offset) } } ; prop.Parent = this; info[i] = prop.GetDebugPropertyInfo(dwFields); } ppEnum = new AD7PropertyInfoEnum(info); return(Constants.S_OK); }
public int EnumProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, uint nRadix, ref Guid guidFilter, uint dwTimeout, out uint pcelt, out IEnumDebugPropertyInfo2 ppEnum) { DEBUG_PROPERTY_INFO[] arr = new DEBUG_PROPERTY_INFO[localVars.Length]; for (int i = 0; i < localVars.Length; i++) { arr[i] = localVars[i].GetDebugPropertyInfo(dwFields); } ppEnum = new AD7PropertyInfoEnum(arr); ppEnum.GetCount(out pcelt); return(Constants.S_OK); }