Example #1
0
        internal static int ConvertMessageToAD7(OutputMessage outputMessage, enum_MESSAGETYPE[] pMessageType, out string pbstrMessage, out uint pdwType, out string pbstrHelpFileName, out uint pdwHelpId)
        {
            const uint MB_ICONERROR = 0x00000010;
            const uint MB_ICONWARNING = 0x00000030;

            pMessageType[0] = outputMessage.MessageType;
            pbstrMessage = outputMessage.Message;
            pdwType = 0;
            if ((outputMessage.MessageType & enum_MESSAGETYPE.MT_TYPE_MASK) == enum_MESSAGETYPE.MT_MESSAGEBOX)
            {
                switch (outputMessage.SeverityValue)
                {
                    case OutputMessage.Severity.Error:
                        pdwType |= MB_ICONERROR;
                        break;

                    case OutputMessage.Severity.Warning:
                        pdwType |= MB_ICONWARNING;
                        break;
                }
            }

            pbstrHelpFileName = null;
            pdwHelpId = 0;

            return Constants.S_OK;
        }
Example #2
0
 public AD7ErrorEvent(OutputMessage outputMessage, bool isAsync)
 {
     _outputMessage = outputMessage;
     _isAsync = isAsync;
 }
Example #3
0
        private void SendMessage(string message, OutputMessage.Severity severity, bool isAsync)
        {
            try
            {
                // IDebugErrorEvent2 is used to report error messages to the user when something goes wrong in the debug engine.
                // The sample engine doesn't take advantage of this.

                AD7MessageEvent eventObject = new AD7MessageEvent(new OutputMessage(message, enum_MESSAGETYPE.MT_MESSAGEBOX, severity), isAsync);
                Send(eventObject, AD7MessageEvent.IID, null);
            }
            catch
            {
                // Since we are often trying to report an exception, if something goes wrong we don't want to take down the process,
                // so ignore the failure.
            }
        }