// Construct an instance of IEnumDebugPropertyInfo2 for the parameters collection only. private void CreateParameterProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = (uint)_parameters.Count; DEBUG_PROPERTY_INFO[] propInfo = new DEBUG_PROPERTY_INFO[_parameters.Count]; for (int i = 0; i < propInfo.Length; i++) { AD7Property property = new AD7Property(Engine, _parameters[i]); propInfo[i] = property.ConstructDebugPropertyInfo(dwFields); } enumObject = new AD7PropertyInfoEnum(propInfo); }
// Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters. private void CreateLocalsPlusArgsProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = 0; int localsLength = 0; if (_locals != null) { localsLength = _locals.Count; elementsReturned += (uint)localsLength; } if (_parameters != null) { elementsReturned += (uint)_parameters.Count; } DEBUG_PROPERTY_INFO[] propInfo = new DEBUG_PROPERTY_INFO[elementsReturned]; if (_locals != null) { for (int i = 0; i < _locals.Count; i++) { AD7Property property = new AD7Property(Engine, _locals[i]); propInfo[i] = property.ConstructDebugPropertyInfo(dwFields); } } if (_parameters != null) { for (int i = 0; i < _parameters.Count; i++) { AD7Property property = new AD7Property(Engine, _parameters[i]); propInfo[localsLength + i] = property.ConstructDebugPropertyInfo(dwFields); } } enumObject = new AD7PropertyInfoEnum(propInfo); }
// Construct an instance of IEnumDebugPropertyInfo2 for the parameters collection only. private void CreateParameterProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = (uint)_parameters.Count; DEBUG_PROPERTY_INFO[] propInfo = new DEBUG_PROPERTY_INFO[_parameters.Count]; for (int i = 0; i < propInfo.Length; i++) { AD7Property property = new AD7Property(_parameters[i]); propInfo[i] = property.ConstructDebugPropertyInfo(dwFields); } enumObject = new AD7PropertyInfoEnum(propInfo); }
// Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters. private void CreateLocalsPlusArgsProperties(enum_DEBUGPROP_INFO_FLAGS dwFields, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = 0; int localsLength = 0; if (_locals != null) { localsLength = _locals.Count; elementsReturned += (uint)localsLength; } if (_parameters != null) { elementsReturned += (uint)_parameters.Count; } DEBUG_PROPERTY_INFO[] propInfo = new DEBUG_PROPERTY_INFO[elementsReturned]; if (_locals != null) { for (int i = 0; i < _locals.Count; i++) { AD7Property property = new AD7Property(_locals[i]); propInfo[i] = property.ConstructDebugPropertyInfo(dwFields); } } if (_parameters != null) { for (int i = 0; i < _parameters.Count; i++) { AD7Property property = new AD7Property(_parameters[i]); propInfo[localsLength + i] = property.ConstructDebugPropertyInfo(dwFields); } } enumObject = new AD7PropertyInfoEnum(propInfo); }