public BreakpointRequestInfo(IDebugBreakpointRequest2 request) { Contract.Requires<ArgumentNullException>(request != null, "request"); _request = request; IDebugBreakpointRequest3 request3 = request as IDebugBreakpointRequest3; BP_REQUEST_INFO2[] requestInfo2 = new BP_REQUEST_INFO2[1]; if (request3 != null && ErrorHandler.Succeeded(request3.GetRequestInfo2(enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo2))) { if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAM) != 0) _program = requestInfo2[0].pProgram; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREAD) != 0) _thread = requestInfo2[0].pThread; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_LANGUAGE) != 0) _languageGuid = requestInfo2[0].guidLanguage; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_VENDOR) != 0) _vendorGuid = requestInfo2[0].guidVendor; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONSTRAINT) != 0) _constraint = requestInfo2[0].bstrConstraint; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAMNAME) != 0) _programName = requestInfo2[0].bstrProgramName; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREADNAME) != 0) _threadName = requestInfo2[0].bstrThreadName; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_TRACEPOINT) != 0) _tracepoint = requestInfo2[0].bstrTracepoint; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_FLAGS) != 0) _flags = requestInfo2[0].dwFlags; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PASSCOUNT) != 0) _passCount = requestInfo2[0].bpPassCount; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONDITION) != 0) _condition = requestInfo2[0].bpCondition; if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_BPLOCATION) != 0) _location = BreakpointLocation.FromNativeForm(requestInfo2[0].bpLocation, true); } else { BP_REQUEST_INFO[] requestInfo = new BP_REQUEST_INFO[1]; ErrorHandler.ThrowOnFailure(request.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo)); if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAM) != 0) _program = requestInfo[0].pProgram; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREAD) != 0) _thread = requestInfo[0].pThread; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_LANGUAGE) != 0) _languageGuid = requestInfo[0].guidLanguage; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAMNAME) != 0) _programName = requestInfo[0].bstrProgramName; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREADNAME) != 0) _threadName = requestInfo[0].bstrThreadName; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_FLAGS) != 0) _flags = requestInfo[0].dwFlags; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PASSCOUNT) != 0) _passCount = requestInfo[0].bpPassCount; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONDITION) != 0) _condition = requestInfo[0].bpCondition; if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_BPLOCATION) != 0) _location = BreakpointLocation.FromNativeForm(requestInfo[0].bpLocation, true); } }
public BreakpointRequestInfo(IDebugBreakpointRequest2 request) { Contract.Requires <ArgumentNullException>(request != null, "request"); _request = request; IDebugBreakpointRequest3 request3 = request as IDebugBreakpointRequest3; BP_REQUEST_INFO2[] requestInfo2 = new BP_REQUEST_INFO2[1]; if (request3 != null && ErrorHandler.Succeeded(request3.GetRequestInfo2(enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo2))) { if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAM) != 0) { _program = requestInfo2[0].pProgram; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREAD) != 0) { _thread = requestInfo2[0].pThread; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_LANGUAGE) != 0) { _languageGuid = requestInfo2[0].guidLanguage; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_VENDOR) != 0) { _vendorGuid = requestInfo2[0].guidVendor; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONSTRAINT) != 0) { _constraint = requestInfo2[0].bstrConstraint; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAMNAME) != 0) { _programName = requestInfo2[0].bstrProgramName; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREADNAME) != 0) { _threadName = requestInfo2[0].bstrThreadName; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_TRACEPOINT) != 0) { _tracepoint = requestInfo2[0].bstrTracepoint; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_FLAGS) != 0) { _flags = requestInfo2[0].dwFlags; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PASSCOUNT) != 0) { _passCount = requestInfo2[0].bpPassCount; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONDITION) != 0) { _condition = requestInfo2[0].bpCondition; } if ((requestInfo2[0].dwFields & enum_BPREQI_FIELDS.BPREQI_BPLOCATION) != 0) { _location = BreakpointLocation.FromNativeForm(requestInfo2[0].bpLocation, true); } } else { BP_REQUEST_INFO[] requestInfo = new BP_REQUEST_INFO[1]; ErrorHandler.ThrowOnFailure(request.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo)); if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAM) != 0) { _program = requestInfo[0].pProgram; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREAD) != 0) { _thread = requestInfo[0].pThread; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_LANGUAGE) != 0) { _languageGuid = requestInfo[0].guidLanguage; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PROGRAMNAME) != 0) { _programName = requestInfo[0].bstrProgramName; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_THREADNAME) != 0) { _threadName = requestInfo[0].bstrThreadName; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_FLAGS) != 0) { _flags = requestInfo[0].dwFlags; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_PASSCOUNT) != 0) { _passCount = requestInfo[0].bpPassCount; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_CONDITION) != 0) { _condition = requestInfo[0].bpCondition; } if ((requestInfo[0].dwFields & enum_BPREQI_FIELDS.BPREQI_BPLOCATION) != 0) { _location = BreakpointLocation.FromNativeForm(requestInfo[0].bpLocation, true); } } }