The Data Channel object, which is derived from the Channel object, contains manipulation functions specific to data channels.
The Data Channel is instantiated with the INmConference::CreateDataChannel method.
Typically, an application will have only one Data Channel and will use its own globally unique identifier (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.
INmChannelData Interface |
INmChannelDataNotify Interface |
This interface manages the exchange of data between specific members. Data Channel objects are created with INmConference::CreateDataChannel.
In addition to the INmChannel Interface methods, this interface implements the following:
GetGuid |
SendData |
HRESULT GetGuid(
[out] GUID *pguid);
Retrieves the globally unique identifier (GUID) used in the creation of the data channel (INmConference::CreateDataChannel).
Back to INmChannelData Interface
HRESULT SendData(
[in] INmMember *pMember,
[in] ULONG uSize,
[in] BYTE *pvBuffer,
[in] ULONG uOptions);
Sends a block of data through the channel to a specified application on the designated member's computer.
S_OK | Success. |
E_POINTER | The pvBuffer pointer is invalid, or uOptions contains an invalid option. |
E_NOINTERFACE | The pMember object does not have the required interface. |
E_FAIL | The specified data buffer was not sent, the specified member is no longer in the conference, or internal resources are not available. |
E_OUTOFMEMORY | Memory could not be allocated to service the request. |
S_FALSE | pvBuffer is NULL or uSize is zero. |
Back to INmChannelData Interface
This is an event notification sink interface for the INmChannelData interface. The methods in this interface are called by the Data Channel object when specific events occur.
These event sink methods should be defined and implemented by the client application to respond to notifications from a Data Channel object. For example, the INmChannelDataNotify::DataReceived method is notified when data is received by the local computer. The client application implementation of this method could provide a display to the user informing him or her that the data has been received (including the size of the data, in bytes, which is provided by one of the method's parameters).
DataReceived |
DataSent |
MemberChanged |
NmUI |
HRESULT DataReceived(
[in] INmMember *pMember,
[in] ULONG uSize,
[in] byte *pvBuffer,
[in] ULONG dwFlags);
Receives a notification when data is received by the local computer.
NM_DF_BROADCAST | Data was broadcast to everyone. |
NM_DF_PRIVATE | Data was private. |
NM_DF_SEGMENT_BEGIN | Start of data block. |
NM_DF_SEGMENT_END | End of data block. |
The data buffer is valid only until the DataReceived method returns, at which point it is freed. To access information in the buffer after returning from the DataReceived method, copy the information to another buffer.
Back to INmChannelDataNotify Interface
HRESULT DataSent(
[in] INmMember *pMember,
[in] ULONG uSize,
[in] byte *pvBuffer);
Receives a notification after the data is queued up to be sent.
Receipt of this notification indicates that NetMeeting has processed the INmChannelData::SendData request and handed the data off to lower level protocols for transmission. It does not guarantee that the data was transmitted or accepted by any remote computer.
Back to INmChannelDataNotify Interface
HRESULT MemberChanged(
[in] NM_MEMBER_NOTIFY uNotify,
[in] INmMember *pMember);
Receives notification that a member of the Data 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 INmChannelDataNotify Interface
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.
Back to INmChannelDataNotify Interface
Last Updated: November 1, 1997
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.