Conference Object


The Conference object manages a conference.

The Conference object is instantiated with the INmManager::CreateConference method.

An application may instantiate any number of Conference objects, but only one may be active at any given time. The rest must be idle. An idle conference has no members and no channels, while an active conference will always have at least one member.

Successful completion of the INmManager::CreateCall, INmConference::Host, or INmCall::Accept methods will result in an NM_CONFERENCE_ACTIVE state for the Conference object.

Use the IEnumNmConference Interface interface to navigate through the currently instantiated Conference objects.

INmConference Interface
INmConferenceNotify Interface

Up ArrowBack to COM Object Reference

INmConference Interface

This interface manages channels and members and also maintains conference-specific information.

CreateDataChannel
EnumChannel
EnumMember
GetChannelCount
GetID
GetMemberCount
GetName
GetNmchCaps
GetState
GetTopProvider
Host
IsHosting
LaunchRemote
Leave

Up ArrowBack to Conference Object

INmConference::CreateDataChannel

HRESULT CreateDataChannel(
[out] INmChannelData **ppChannel,
[in] REFGUID rguid);

Provides a pointer to an INmChannelData Interface on a new Channel object. This Data Channel, identified by your application's globally unique identifier (GUID), can be used to transmit information between instances of your application running on each conference participant's computer.

ppChannel
Pointer to a pointer to the INmChannelData Interface on the new Channel object.
rguid
GUID of the Data Channel.

Typically, an application will have only one Data Channel and will use its own application GUID to identify the Channel. However, an application can create multiple Data Channels and identify each one with a different GUID.

The Using the NetMeeting Data Channel tutorial has more information on this subject.

For more information on creating GUIDs, see Inside OLE 2, by Kraig Brockschmidt.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::EnumChannel

HRESULT EnumChannel(
[out] IEnumNmChannel **ppEnum);

Returns an instance of the enumerator for the existing Channel objects in the conference. The IEnumNmChannel Interface methods can be used to manipulate this enumerator.

ppEnum
Pointer to a pointer to a Channel enumerator that can be used to enumerate all the Channels in this conference.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::EnumMember

HRESULT EnumMember(
[out] IEnumNmMember **ppEnum);

Provides an instance of the enumerator for the Member objects in the current conference. The IEnumNmMember Interface methods can be used to manipulate this enumerator.

ppEnum
Pointer to a pointer to the member enumerator.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetChannelCount

HRESULT GetChannelCount(
[out] ULONG *puCount);

Retrieves the current number of channels in the conference.

puCount
Pointer to a ULONG containing the number of channels in the conference.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetID

HRESULT GetID(
[out] ULONG *puID);

Retrieves the unique identifier of the Conference object. This method will only return an identifier if the Conference object has data capabilities.

puID
Pointer to a ULONG that contains the returned conference identifier.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetMemberCount

HRESULT GetMemberCount(
[out] ULONG *puCount);

Retrieves the current number of members in the conference.

puCount
Pointer to a ULONG containing the number of members.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetName

HRESULT GetName(
[out] BSTR *pbstrName);

Retrieves the string for the conference name.

pbstrName
Pointer to a BSTR that receives the string containing a conference name.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetNmchCaps

HRESULT GetNmchCaps(
[out] ULONG *puchCaps);

Retrieves the channel capabilities with which the Conference object was created. The capabilities define the channels for which the application will receive notifications.

puchCaps
Pointer to a ULONG that identifies the channel capabilities. This can be NMCH_ALL, NMCH_NONE, or any combination of the remaining channel type constants:
NMCH_AUDIO Audio Channel capabilities.
NMCH_DATA Data Channel capabilities.
NMCH_FT File Transfer Channel capabilities.
NMCH_SHARE Application Sharing Channel capabilities.
NMCH_VIDEO Video Channel capabilities.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetState

HRESULT GetState(
[out] NM_CONFERENCE_STATE *pState);

Retrieves the state of the Conference object. Though an application may have any number of Conference objects instantiated, only one Conference object may be active at any given time.

pState
Pointer to an NM_CONFERENCE_STATE that identifies the conference state as idle (NM_CONFERENCE_IDLE) or active (NM_CONFERENCE_ACTIVE).

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::GetTopProvider

HRESULT GetTopProvider(
[out] INmMember **ppMember);

Retrieves the top provider, which is the member in charge of the conference.

ppMember
Pointer to a pointer to the INmMember Interface on the top provider Member object.

If the top provider leaves the conference, the conference will end.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::Host

HRESULT Host(void);

Activates a conference and makes the local user a member of the conference.

The conference must be in the idle state to be set as a host (state must be NM_CONFERENCE_IDLE).

The conference must have data capabilities to be a host (must have NMCH_DATA set). For more information, see INmManager::CreateConference.

This method ensures that the local user will be the top provider (member in charge of the conference).

This method has the same effect as choosing the "Host Meeting" menu item in NetMeeting.

A hosted conference will not end when the last remote participant leaves the conference.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::IsHosting

HRESULT IsHosting(void);

Determines if the conference is being hosted by the local computer.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::LaunchRemote

HRESULT LaunchRemote(
[in] REFGUID rguid,
[in] INmMember *pMember);

Starts the application associated with the specified globally unique identifier (GUID) on the remote member's system.

rguid
GUID of the calling application.
pMember
Pointer to the INmMember Interface on the remote Member object.

If pMember is NULL, NetMeeting attempts to start the remote application on all members in the conference.

In most cases, each application will have one Data Channel and the same GUID will be used to identify the Data Channel and the application. In some cases, an application may have multiple Data Channels, each identified with its own GUID. In this case, the application will use one of these GUIDs as its own launching GUID.

For more information, see the Remotely Launching Your Program tutorial.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConference::Leave

HRESULT Leave(void);

Removes the local computer from the active conference.

If other computers are connected to the conference through this computer, they will also be disconnected. If the local user is the top provider (member in charge of the conference), the conference will end.

Up ArrowBack to INmConference Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConferenceNotify Interface

This is an event notification sink interface for the INmConference interface. The methods in this interface are called by the Conference object interface when specific events occur.

These event sink methods should be defined and implemented by the client application to respond to notifications from a Conference object. For example, the INmConferenceNotify::MemberChanged method is notified when the member roster for the Conference object has changed. The client application implementation of this method could provide a display to the user informing him or her of the addition or removal of the specific member.

ChannelChanged
MemberChanged
NmUI
StateChanged

Up ArrowBack to Conference Object

INmConferenceNotify::ChannelChanged

HRESULT ChannelChanged(
[in] NM_CHANNEL_NOTIFY uNotify,
[in] INmChannel *pChannel);

Notifies the client that a channel for the conference has changed.

uNotify
Enumerated constant for the notification type. This can be one of the following:
NM_MEMBER_ADDED A channel was added to the conference.
NM_MEMBER_REMOVED A channel was removed from the conference.
NM_MEMBER_UPDATED Information for a channel was updated.
pChannel
Pointer to the INmChannel Interface on the Channel object that was updated, added to, or removed from the conference.

Up ArrowBack to INmConferenceNotify Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConferenceNotify::MemberChanged

HRESULT MemberChanged(
[in] NM_MEMBER_NOTIFY uNotify,
[in] INmMember *pMember);

Notifies the client that the member roster for the conference has changed (someone has joined or left the conference or the member's capabilities has been updated).

uNotify
Enumerated constant for the notification type. This can be one of the following:
NM_MEMBER_ADDED A member was added to the conference.
NM_MEMBER_REMOVED A member was removed from the conference.
NM_MEMBER_UPDATED Information for a conference member was updated.
pMember
Pointer to the INmMember Interface on the Member object that was updated, added to, or removed from the conference.

Up ArrowBack to INmConferenceNotify Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConferenceNotify::NmUI

HRESULT NmUI(
[in] CONFN uNotify);

Receives event notification when a conference change occurs.

uNotify
Reserved for future use.

Up ArrowBack to INmConferenceNotify Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

INmConferenceNotify::StateChanged

 HRESULT StateChanged(
[in] NM_CONFERENCE_STATE uState);

Notifies the application when the conference state has changed.

uState
New conference state. The state will be one of the following constants:
NM_CONFERENCE_ACTIVE The conference is active. Most operations on a conference require it to be in this state.
NM_CONFERENCE_IDLE The conference is not active. It contains no members or channels.
NM_CONFERENCE_INITIALIZING The conference is transitioning between the idle and active states. The application should wait for a notification that the state has changed to either waiting or active before attempting to perform any other conference operations.
NM_CONFERENCE_WAITING A hosted conference with only the local member participating.

Up ArrowBack to INmConferenceNotify Interface

Up ArrowBack to Conference Object

Up ArrowBack to COM Object Listing

Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.