Porting Your Applications to NetMeeting 3

The following list details changes between NetMeeting 2.11 or NetMeeting 2, and NetMeeting 3.

  • With NetMeeting 3, data can be queued in the data channel while a conference is in the NM_CONFERENCE_WAITING state. In NetMeeting 2.11, attempts always failed to create a data channel while the conference was in the waiting state.
  • Notifications for mouse click events in INmChannelNotify::NmUI for application sharing (INmChannelAppShareNotify which inherits from INmChannelNotify) are no longer generated.
  • In NetMeeting 2.1, when an SDK client initialized using NM_INIT_NORMAL, the UI opened after another API was called. In NetMeeting 3, the UI opens immediately.
  • If the NetMeeting UI is open when the SDK client initializes with NM_INIT_CONTROL, NetMeeting 3 does not send a INmManagerNotify::NmUI CONFN_NM_STOPPED notificationwhen NetMeeting is closed and the NetMeeting icon will remain in the taskbar notification area.
  • When calling a newer or older version of NetMeeting through the SDK, the CONFN_CALL_OLDER and CONFN_CALL_NEWER notifications are no longer generated.
  • Passing null out parameters to functions will cause them to return remote procedure call (RPC) server errors. The NetMeeting SDK is now a local server employing the stardard marshalling services from the operating system (OS). As a result, for many design-time and run-time errors, the return code for some NetMeeting interface methods will actually be OS errors. These errors are generally RPC_E_XXX, which can be found in winerror.h.
  • INmMember::GetNmVersion now returns NM_VER_NetMeeting3 which is hex value 0x04.
  • Setting the NM_VIDPROP_WINDOW_AUTOSIZE, NM_VIDPROP_TOP_MOST, or NM_VIDPROP_WINDOW_VISIBLE property using INmChannelVideo::SetProperty no longer works.
  • INmCall::GetAddr always returns an IP address for outgoing calls.
  • In NetMeeting 2.11, INmConference::Host failed when the SDK client initialized CreateConference without NMCH_DATA as part of the channel caps. In NetMeeting 3, this succeeds.
  • For applications using NetMeeting's T.120 stack with their own H.323 stack, calling a NetMeeting node with H.323 and then again with T.120 will result in two incoming call dialogs, one for each call.
  • TRAPI has been replaced by IPluggableTransport. Applications that replaced the NetMeeting transports will need to be rewritten to use the new IPluggableTransport interfaces.
  • The NM_CONFERENCE_ACTIVE notification may be generated before all channels have been added to the conference.
  • When using ShellExecute to launch the Whiteboard or Chat, the nShowCmd parameter is ignored.
  • The file transfer channel shows up only after someone joins a conference.