/// <summary>
        /// Sends the conversation data to GDS using COM Interop
        /// </summary>
        /// <param name="messageData">MSNMessageData struct containing the IM message data</param>
        private void SendMessageData(MSNMessageData messageData)
        {
            try
            {
                GoogleDesktopClass gdsClass = new GoogleDesktopClass();

                // create the event
                object gdsEventDisp          = gdsClass.CreateEvent(kComponentGuid, "Google.Desktop.IM");
                IGoogleDesktopEvent gdsEvent = (IGoogleDesktopEvent)gdsEventDisp;

                // add IM event properties

                // "message_time" property
                gdsEvent.AddProperty("message_time", messageData.date.ToUniversalTime().ToOADate());

                // "format" property
                gdsEvent.AddProperty("format", "text/html");

                // "content" property
                gdsEvent.AddProperty("content", messageData.fromFriendlyName + ": " + messageData.message);

                // "user_name" property
                gdsEvent.AddProperty("user_name", userName);

                // "buddy_name" property
                gdsEvent.AddProperty("buddy_name", buddyName);

                // "conversation_id" property
                gdsEvent.AddProperty("conversation_id", messageData.sessionId);

                // "title" property - use the buddy name
                gdsEvent.AddProperty("title", buddyName);

                // send the event real-time
                gdsEvent.Send(0x01);
            }
            catch (COMException e)
            {
                // protect some valid error results
                UInt32 error = (UInt32)e.ErrorCode;
                if (error != 0x80040005 && // E_COMPONENT_DISABLED
                    error != 0x80040008 && // E_EVENT_TOO_LARGE
                    error != 0x80040009    // E_SERVICE_NOT_RUNNING
                    )
                {
                    SimpleMessageBox("COM Exception", e.ToString(), false);
                }
            }
        }
        /// <summary>
        /// Sends the conversation data to GDS using COM Interop
        /// </summary>
        /// <param name="messageData">MSNMessageData struct containing the IM message data</param>
        private void SendMessageData(MSNMessageData messageData)
        {
            try
              {
            GoogleDesktopClass gdsClass = new GoogleDesktopClass();

            // create the event
            object gdsEventDisp = gdsClass.CreateEvent(kComponentGuid, "Google.Desktop.IM");
            IGoogleDesktopEvent gdsEvent = (IGoogleDesktopEvent)gdsEventDisp;

            // add IM event properties

            // "message_time" property
            gdsEvent.AddProperty("message_time", messageData.date.ToUniversalTime().ToOADate());

            // "format" property
            gdsEvent.AddProperty("format", "text/html");

            // "content" property
            gdsEvent.AddProperty("content", messageData.fromFriendlyName + ": " + messageData.message);

            // "user_name" property
            gdsEvent.AddProperty("user_name", userName);

            // "buddy_name" property
            gdsEvent.AddProperty("buddy_name", buddyName);

            // "conversation_id" property
            gdsEvent.AddProperty("conversation_id", messageData.sessionId);

            // "title" property - use the buddy name
            gdsEvent.AddProperty("title", buddyName);

            // send the event real-time
            gdsEvent.Send(0x01);
              }
              catch (COMException e)
              {
            // protect some valid error results
            UInt32 error = (UInt32)e.ErrorCode;
            if (error != 0x80040005 &&    // E_COMPONENT_DISABLED
            error != 0x80040008 &&    // E_EVENT_TOO_LARGE
            error != 0x80040009       // E_SERVICE_NOT_RUNNING
              )
            {
              SimpleMessageBox("COM Exception", e.ToString(), false);
            }
              }
        }