PRB: NetMeeting's INmChannelData::SendData() Fails

ID: Q187873

The information in this article applies to:

SYMPTOMS

SendData() fails if the data channel is busy.

CAUSE

The INmChannelData::SendData() method of the NetMeeting 2.1 SDK might return an HRESULT of E_FAIL when the data cannot be sent because other clients are using the data channel.

RESOLUTION

SendData() succeeds if the application continues to retry. If the application calling the INmChannelData::SendData() method keeps trying when it gets an HRESULT of E_FAIL, it will succeed with an HRESULT of S_OK when the data channel becomes available, even though this can take numerous retries.

STATUS

This behavior is by design.

MORE INFORMATION

The NetMeeting 2.1 SDK FAQ includes the following question:

   Is there a limit to the amount of data that can be sent using SendData?

After answering this question, the following note is included in the FAQ:

   It is important to note that you should always be prepared for SendData
   to fail regardless of the packet size you choose because other clients
   of the SDK might be sharing the NetMeeting data channel with your
   application.

Given that you have properly set up a data channel, this failure indicates a temporary status, namely that the data cannot be sent at the present moment. However, continued retries of SendData will lead to a return code of S_OK indicating the data was sent successfully.

REFERENCES

Please see the NetMeeting 2.1 SDK FAQ:

   http://www.microsoft.com/msdn/sdk/netmeeting

Select "Frequently Asked Questions" in the Web page's left pane, select "Software Development" in the right pane, and then refer to the question "Is there a limit to the amount of data that can be sent using SendData?".

Additional query words:

Keywords          : kbNetMeeting 
Issue type        : kbprb

Last Reviewed: June 19, 1998