Use the AutomationModalities and AutomationModalitySettings enumerations in the Microsoft Lync 2010 SDK to specify conversation modes and context types.

Notable classes and members relating to extensibility appear in the following sections. For a full list, see Lync 2010 API Class Library documentation.

AutomationModalities Enumeration

Use the AutomationModalities enumeration to specify conversation modes.

AutomationModalities enumeration

Description

ApplicationSharing

Specifies this conversation shares one of the following: desktop, monitor, process, or window.

Audio

Specifies this is a voice conversation.

FileTransfer

Specifies this is a file-sharing conversation.

InstantMessage

Specifies this is an instant messaging (IM) conversation.

Video

Specifies this is a video conversation.

AutomationModalitySettings Enumeration

Use the AutomationModalitySettings enumeration as a property bag to specify conversation context types. The BeginStartConversation method expects a set (IEnumerable) of KeyValuePair objects, where the key is the type, specified by AutomationModalitySettings . The following example passes the conversation mode and type to BeginStartConversation . In the following table the Enumeration column lists keys, and the Value column describes the matching values for the keys.

  Copy imageCopy Code
// Create the major API automation objects.
Automation _Automation = LyncClient.GetAutomation();

// Create a generic List object to contain the URI to call.
// Edit this to provide a valid URI.
List<string> inviteeList = new List<string>();
Dictionary<AutomationModalitySettings,Object> myContextData =
new Dictionary<AutomationModalitySettings, Object>();
inviteeList.Add("elise@contoso.com");

// Add a context enumeration and the associated data.
myContextData.Add(AutomationModalitySettings.Subject, "your subject
string");

// Start the conversation.
IAsyncResult ar =
_Automation.BeginStartConversation(AutomationModalities.Audio,
inviteeList, myContextData);

//UI thread blocks until conversation window is opened and call
into EndStartConversation completes.
ConversationWindow myWindow = _Automation.EndStartConversation(ar);

Enumeration

Description

Value

SharedDesktop

Specifies the conversation will share a desktop.

An integer that specifies the desktop ID.

SharedMonitor

Specifies the conversation will share a monitor.

An integer that specifies the monitor ID.

SharedProcess

Specifies the conversation will share a process.

An integer that specifies the process.

SharedWindow

Specifies the conversation will share a window.

A hWnd that specifies the window handle.

ApplicationData

Specifies the conversation will share data.

A string that specifies the application data.

ApplicationId

Specifies the application ID used to initiate the contextual conversation.

A GUID that specifies the application ID.

ContextualLink

Specifies the URL shared by the conversation.

A string that specifies the URL.

ToastString

Specifies the string to be displayed on the toast.

A string displayed on the custom toast.

DataObjectForFileTransfer

Specifies the conversation will pass a file.

An IDataObject that contains the drag and drop file object.

FileHistoryLink

Specifies the history file for the conversation.

A string that specifies the file path.

FileIsShared

Specifies whether or not the file passed in the conversation is shared.

A Boolean value that specifies whether the file is shared.

FilePathToTransfer

Specifies the path to the file shared in the conversation.

A string that specifies the file path.

FirstInstantMessage

Specifies the text of the first IM in the conversation.

A string that specifies the message text.

OutlookEntryId

Specifies the ID of the Outlook message shared in the conversation.

A string that specifies the message ID.

PreviousConversation

Specifies the previous conversation shared in the current conversation.

A string that specifies the message.

SendFirstInstantMessageImmediately

Specifies whether or not the IM text is sent immediately.

A Boolean value that specifies whether the IM text is sent immediately.

StartConferenceByCallingMeAt

Specifies the phone number to open the conference.

A string that specifies the phone number.

Subject

Specifies the subject line for the conversation.

A string that specifies the subject text.

ParentWindow

Specifies the hWnd for the parent window of the conversation window.

An hWnd that specifies the window handle.

Pairings Between Modes and Types

The AutomationModalities and AutomationModalitySettings enumerations combine into pairs, and must correspond. A given AutomationModalitySettings may be used with more than one AutomationModalities . The possible pairings appear in the following table.

AutomationModalities enumeration

AutomationModalitySettings enumerations

ApplicationSharing

SharedDesktop, SharedMonitor, SharedProcess, SharedWindow

Audio

StartConferenceByCallingMeAt

FileTransfer

DataObjectForFileTransfer, FileHistoryLink, FileIsShared, FilePathToTransfer

InstantMessaging

ApplicationData, ApplicationId, ContextualLink, FileHistoryLink, FirstInstantMessage, OutlookEntryId, SendFirstInstantMessageImmediately, ToastString

Video

ApplicationData, ApplicationId, ContextualLink, OutlookEntryId, ParentWindow, StartConferenceByCallingMeAt, ToastString Subject

See Also