Data Channel


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

Up ArrowBack to COM Object Reference

INmChannelData 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

Up ArrowBack to Data Channel

INmChannelData::GetGuid

HRESULT GetGuid(
[out] GUID *pguid);

Retrieves the globally unique identifier (GUID) used in the creation of the data channel (INmConference::CreateDataChannel).

pguid
Pointer to the GUID that identifies a specific data channel.

Up ArrowBack to INmChannelData Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

INmChannelData::SendData

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.

pMember
Pointer to the INmMember Interface on the Member object to which data will be sent. If this parameter is NULL, the data is sent to all members in the channel.
uSize
Size, in bytes, of the data in the buffer.
pvBuffer
Pointer to a buffer that contains the data to be sent.
uOptions
Flags for data transfer. Reserved for future use. This flag should be set to 0.

Up ArrowBack to INmChannelData Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

INmChannelDataNotify 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

Up ArrowBack to Data Channel

INmChannelDataNotify::DataReceived

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.

pMember
Pointer to the INmMember Interface on the Member object from which the data originated.
uSize
Size, in bytes, of the data in the buffer.
pvBuffer
Pointer to a buffer that contains the data received.
dwFlags
Flag that provides information on the transferred data. This can be one or more of the following:
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.

Up ArrowBack to INmChannelDataNotify Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

INmChannelDataNotify::DataSent

HRESULT DataSent(
[in] INmMember *pMember,
[in] ULONG uSize,
[in] byte *pvBuffer);

Receives a notification after the data is queued up to be sent.

pMember
Pointer to the INmMember Interface on the Member object to which the data was sent. If the parameter is NULL, the data was sent to all members in the channel.
uSize
Size, in bytes, of the data in the buffer.
pvBuffer
Pointer to a buffer that contains the data that was 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.

Up ArrowBack to INmChannelDataNotify Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

INmChannelDataNotify::MemberChanged

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.

uNotify
Identifier of an event constant during a conference. This can include the following values:
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 changed.

Up ArrowBack to INmChannelDataNotify Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

INmChannelDataNotify::NmUI

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.

uNotify
Reserved for future use.

Up ArrowBack to INmChannelDataNotify Interface

Up ArrowBack to Data Channel

Up ArrowBack to COM Object Listing

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