INmManager
The INmManager interface represents the overall NetMeeting conference manager. The conference manager initializes the NetMeeting run time for its environment and controls how the underlying NetMeeting functionality interacts with NetMeeting client software.
When to Implement
You do not need to implement this interface because the NetMeeting run time provides the INmManager implementation on the Conference Manager object. You do need to implement the corresponding event handler methods for INmManagerNotify.
When to Use
Use the INmManager interface methods to access and manage information concerning the overall conference. The conference manager is in charge of the conference and can perform the following actions.
- Launch NetMeeting and manage the overall conference session, including replacement of the NetMeeting user interface with a custom interface and registration for specific event notifications.
- Create, manage, and list incoming and outgoing calls.
- Create, manage and list conferences.
- Join existing conferences.
- Retrieve system information from the local computer.
- Influence how data is distributed among the conference members through its inherent position in the conference topology.
Methods in Vtable Order
IUnknown methods | Description |
---|---|
QueryInterface | Retrieves pointers to supported interfaces. |
AddRef | Increments the reference count. |
Release | Decrements the reference count. |
INmManager methods | Description |
---|---|
Initialize | Activates and registers the Conference Manager object with conferencing services. See the sample code that follows this table. |
GetSysInfo | Retrieves local user and system information. |
EnumConference | Lists current conferences in progress. Use this to determine if there is already a conference in progress before you start a new one. |
CreateConference | Creates a new conference on the local system. |
EnumCall | Lists calls in progress. |
CreateCall | Creates a new call and adds it to the existing conference on the local system. |
CallConference | Calls an existing conference by name on the local system. |
Remarks
To create this object, use CoCreateInstance with the predefined class identifier CLSID_NmManager and interface identifier IID_INmManager to retrieve an INmManager interface pointer on the conference manager object. In addition, connect up the INmManagerNotify event sink as shown in the sample code below.
Example
The following C++ sample shows how to initialize NetMeeting from an application.
HRESULT InitializeNetMeeting() { HRESULT hr = S_OK; ULONG ulOptions = NM_INIT_BACKGROUND; ULONG ulCaps = 0; INmManagerNotify* pINmManagerNotify = NULL; // // Create the NmManager object // hr = CoCreateInstance(CLSID_NmManager, NULL, CLSCTX_INPROC_SERVER, IID_INmManager, (void**)&g_pINmManager); if (FAILED(hr)) { _tprintf(_T("CoCreateInstance failed, hr = 0x%08X\n"), hr); goto Exit; } // // Create a sink for the NmManagerNotify events. // Note: CNMNotify implements the INmManagerNotify // interface // g_pNmManagerNotify = new CNMNotify(); if (NULL == g_pNmManagerNotify) { _tprintf(_T("Could not create a CNMNotify class\n")); goto Exit; } // // QueryInterface for the INmManagerNotify interface // from the CNMNotify class // hr = g_pNmManagerNotify->QueryInterface(IID_INmManagerNotify, (void**)&pINmManagerNotify); if (FAILED(hr)) { _tprintf(_T("Cannot QI for INmManagerNotify, hr = 0x%08X\n"), hr); goto Exit; } // // Use AtlAdvise to connect the g_pINmManager event source to the // pINmManagerNotify event sink // hr = AtlAdvise((IUnknown*)g_pINmManager, (IUnknown*)pINmManagerNotify, IID_INmManagerNotify, &g_dwCookie); if (FAILED(hr)) { _tprintf(_T("AtlAdvise failed, hr = 0x%08X\n"), hr); goto Exit; } // // Call Initialize on the INmManager interface // hr = g_pINmManager->Initialize(&ulOptions, &ulCaps); if (FAILED(hr)) { _tprintf(_T("QueryInterface for IID_INmManager failed, hr = 0x%08X\n"), hr); goto Exit; } Exit: if (pINmManagerNotify != NULL) { pINmManagerNotify->Release(); pINmManagerNotify = NULL; } return hr; }
Requirements
** Windows NT/2000:** Requires Windows NT 4.0 SP3 or later.
** Windows 95/98:** Requires Windows 95 or later. Available as a redistributable for Windows 95.
** Header:** Imsconf2.idl.