The Application Sharing Channel object, which is derived from the Channel object, contains manipulation functions specific to Application Sharing Channels.
To obtain an Application Sharing Channel, use INmChannel::QueryInterface with the IID_INmChannelAppShare interface identifier.
Each Application Sharing Channel object refers to an application on the local computer that is capable of being shared or is currently being shared.
INmChannelAppShare Interface |
INmChannelAppShareNotify Interface |
This interface enables you to find the current sharing state of the local computer and get information about sharable applications.
In addition to the INmChannel Interface methods, this interface implements the following:
EnumSharableApp |
GetState |
SetState |
Back to Application Sharing Channel
HRESULT EnumSharableApp(
[out] IEnumNmSharableApp **ppEnum);
Retrieves an instance of the Application Sharing Channel object enumerator for applications that can be shared. The IEnumNmSharableApp Interface methods can be used to manipulate this enumerator.
Back to INmChannelAppShare Interface
Back to Application Sharing Channel
HRESULT GetState(
[out] NM_SHARE_STATE *puState);
Retrieves the state of the application being shared.
NM_SHARE_COLLABORATING | The user is not working alone and does not have control of the cursor. Other conference members can work in any applications the local user has shared. |
NM_SHARE_UNKNOWN | The current state is unknown. This may result if it is an audio- and video-only conference, or if application sharing is not available. |
NM_SHARE_IN_CONTROL | Gives the local user control of the cursor. If the user was working alone, this will also grant permission to others to take control of this shared application. |
NM_SHARE_WORKING_ALONE | The local user is working alone. Other conference members can see applications that the local user has shared, but they cannot work in them. The local user can see applications that others have shared, but he or she cannot work in them. |
Back to INmChannelAppShare Interface
Back to Application Sharing Channel
HRESULT SetState(
[in] NM_SHARE_STATE uState);
Sets the application sharing state of the local user.
NM_SHARE_IN_CONTROL | Gives the local user control of the cursor. If the user was working alone, this will also grant permission to others to take control of this shared application. |
NM_SHARE_WORKING_ALONE | The local user is working alone. Other conference members can see applications that the local user has shared, but they cannot work in them. The local user can see applications that others have shared, but he or she cannot work in them. |
When you set the current state to NM_SHARE_IN_CONTROL, this interface does the same thing as the Collaborate button in the NetMeeting UI; the user is put in the Collaborating state and is given control of the cursor.
Calling this method and setting the NM_SHARE_IN_CONTROL constant for uState will not result in a INmChannelNotify::MemberChanged notification if the local user was already in control, or if all users are working alone.
Back to INmChannelAppShare Interface
Back to Application Sharing Channel
This is an event notification sink interface for the . The methods in this interface are called by the Application Sharing Channel when a specific event occurs.
This event sink method should be defined and implemented by the client application to respond to notifications from an Application Sharing Channel. The INmChannelAppShareNotify::StateChanged method is notified when a change in the application sharing state has occurred. The client application implementation of this method could provide the user with a display that indicates an application has just been shared or is no longer being shared.
MemberChanged |
NmUI |
StateChanged |
Back to Application Sharing Channel
HRESULT MemberChanged(
[in] NM_MEMBER_NOTIFY uNotify,
[in] INmMember *pMember);
Receives notification that a member of the Application Sharing Channel was added, removed, or updated. This method is inherited from INmChannelNotify.
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. |
Back to INmChannelAppShareNotify Interface
Back to Application Sharing Channel
HRESULT NmUI(
[in] CONFN uNotify);
Receives event notification when a channel change occurs. Only the application in charge (initialized with NM_INIT_CONTROL) of the NetMeeting user interface will receive these notifications. This method is inherited from INmChannelNotify.
CONFN_CLICK_CONTROL | The mouse moved while collaborating, but the local user is not in control. |
CONFN_CLICK_OBSCURE | The mouse clicked over an obscured area of the shared application. |
CONFN_CLICK_REMOTE_NOT_COLLABORATING | Remote computer is not collaborating. |
CONFN_CLICK_LOCAL_NOT_COLLABORATING | Local computer is not collaborating. |
This method will receive notifications only if the application succeeded in initializing with puOptions set to NM_INIT_CONTROL.
Back to INmChannelAppShareNotify Interface
Back to Application Sharing Channel
HRESULT StateChanged(
[in] NM_SHAPP_STATE uState,
[in] INmSharableApp *pApp);
Provides notification when a shareable application on the local computer becomes shared or is no longer being shared.
NM_SHAPP_NOT_SHARED | The application is not currently being shared. |
NM_SHAPP_SHARED | The application is currently being shared. |
Back to INmChannelAppShareNotify Interface
Back to Application Sharing Channel
Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.