How to: Identify a Meeting Item as a Counter-Proposal to a Prior Meeting Request

How to: Identify a Meeting Item as a Counter-Proposal to a Prior Meeting Request

This topic shows how to use the named property, dispidApptCounterProposal, and the Outlook object model to identify a MeetingItem object as a counter proposal to a prior meeting request.

In the Outlook object model, all types of items, such as a mail item and a contact item, correspond to specific message classes. In particular, responses to a meeting request can be identified by the following message classes:

  • IPM.Schedule.Meeting.Resp.Neg for a decline response
  • IPM.Schedule.Meeting.Resp.Pos for an acceptance response
  • IPM.Schedule.Meeting.Resp.Ten for a tentative response

However, the Outlook object model does not provide a means to identify a response as the fourth possible response to a meeting request, which is a counter-proposal.

Using the PropertyAccessor object and the PSETID_Appointment namespace definition of dispidApptCounterProposal, you can program within the object model to distinguish all responses of a meeting request item. The following code sample in C# shows how to get the property value given a meeting item. Note that in the code sample, the named property is expressed as:

  "http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/8257000B"

where {00062002-0000-0000-C000-000000000046} is the PSETID_Appointment namespace and 8257000B is the property tag of dispidApptCounterProposal.

  private bool IsCounterProposal(Outlook.MeetingItem meeting)
{
    const string counterPropose =
        "http://schemas.microsoft.com/mapi/id/{00062002-0000-0000-C000-000000000046}/8257000B";
    Outlook.PropertyAccessor pa = meeting.PropertyAccessor;
    if ((bool)pa.GetProperty(counterPropose))
        return true;
    else
        return false; 
}