IUccPresenceNoteInstance Interface
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
Encapsulates a note category instance providing descriptions of a user's presence.
Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)
Syntax
'Declaration
Public Interface IUccPresenceNoteInstance
Inherits IUnknown
public interface IUccPresenceNoteInstance : IUnknown
public interface class IUccPresenceNoteInstance : IUnknown
public interface IUccPresenceNoteInstance extends IUnknown
public interface IUccPresenceNoteInstance extends IUnknown
Remarks
An IUccPresenceNoteInstance instance is created when an IUccCategoryInstance object of the "note" name is published. This interface is thus obtainable from a "note" IUccCategoryInstance object. A note is a textual description of a user's presence. A note can be an out-of-facility (OOF) notification a user entered into a calendar application such as Microsoft Outlook messaging and collaboration client (calendar client) and Microsoft Exchange Server (calendar server). This type of note is known as OOF notes. A note can be any other description a user entered using a UCC API application. This type of notes is referred to as personal notes. Individual notes are encapsulated by the IUccPresenceNoteData interface. An IUccPresenceNoteInstance object can hold a set of notes of different types.
Win32 COM/C++ Syntax
interface IUccPresenceNoteInstance : IUnknown
Example
The following example is a public constructor for an application class that wraps an instance of IUccPresenceNoteInstance. This class can be instantated by passing a received category instance published by a remote user as well as a publishable category instance created by the application itself. this._Note
is a private field of the application Note
class.
/// <summary>
/// Note wrap class constructor.
/// </summary>
/// <param name="pNote">Presence note as category instance</param>
public Note(IUccCategoryInstance pNote)
{
if (pNote == null)
{
throw new ArgumentNullException("pNote", "Cannot be null");
}
this._Note = pNote as IUccPresenceNoteInstance;
}
A note can be also created and published by a local user. The following example creates a publishable instance of a presence note to be published by a local user
/// <summary>
/// Creates a publishable note
/// </summary>
/// <param name="content">string note content</param>
/// <param name="plcid">int locale Id</param>
/// <returns>IUccCategoryInstance note to publish</returns>
public IUccCategoryInstance CreatePublishableNote(
string content,
int plcid)
{
IUccCategoryInstance publishableNote = null;
string noteCategory = this._pubMgr.GetPresenceCategoryName(
UCC_PRESENCE_CATEGORY_TYPE.UCCPCT_NOTE);
publishableNote = this._pubMgr.CreatePublishableCategoryInstance(
noteCategory,
0,
1,
UCC_CATEGORY_INSTANCE_EXPIRE_TYPE.UCCCIET_STATIC,
0);
IUccPresenceNoteInstance myNote = publishableNote as IUccPresenceNoteInstance;
//create a new note
UccPresenceNoteData newData = myNote.CreateNote(
UCC_PRESENCE_NOTE_TYPE.UCCPNT_PERSONAL);
//use new note to create a UccLocaleSTring
UccLocaleString localeString = newData.CreateContent();
//assign note text to locale string
localeString.String = content;
//assign locale Id to locale string
localeString.Lcid = plcid;
//assign locale string to note
newData.Content = localeString;
myNote.AddNote(newData);
System.DateTime endDate = new DateTime(2008, 05, 01);
newData.StartTime = System.DateTime.Now;
newData.EndTime = endDate;
return publishableNote;
}
Platforms
Development Platforms
Windows XP Professional with Service Pack 2 (SP2), Windows Server 2000 with Service Pack 4, Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition
Target Platforms
See Also
Reference
IUccPresenceNoteInstance Members
Microsoft.Office.Interop.UccApi Namespace