Windows Conferencing API


Conference Functions

ConferenceConnect


DWORD WINAPI ConferenceConnect(
	HCONF    * phConf,
	LPCONFADDR lpConfAddr,
	LPCONFINFO lpConfInfo);

The ConferenceConnect function establishes a conference connection between two systems.

phConf
Points to an HCONF that can be used to identify the conference. If the value pointed to by phConf is set to NULL, a new conference is created and the new conference identifier is returned through this parameter. If it is initially set to a valid conference identifier, the node associated with lpConfAddr is added to that existing conference.
lpConfAddr
Points to a CONFADDR structure that indicates the address of the machine to connect to.
lpConfInfo
Points to a CONFINFO structure that contains the initial conference settings.

This function can be used to establish a new conference or add another user to an existing conference. Since the function does not return until the connection has been successfully established (or an error occurred), the application must set up a callback routine to process the notifications and call ConferenceDisconnect to abort the connection attempt.

The callback routine receives the following notifications as a result of this function:
CONFN_CONFERENCE_INITThe function parameters have been validated and connection request is being processed. This notification is not received when adding users to an existing conference.
CONFN_CONFERENCE_STARTThe conference has officially started.
CONFN_CONFERENCE_ERRORAn error was encountered when attempting to create the conference.

See also ConferenceDisconnect, CONFNOTIFYPROC, CONFADDR, CONFINFO

ConferenceDisconnect


DWORD WINAPI ConferenceDisconnect(
	HCONF hConf);

The ConferenceDisconnect function stops an existing conference.

hConf
Specifies the conference to stop.

If the conference was successfully terminated, the callback receives a CONFN_CONFERENCE_STOP notification before the function returns.

See also ConferenceConnect CONFNOTIFYPROC

ConferenceGetInfo


DWORD WINAPI ConferenceGetInfo(
	HCONF  hConf,
	DWORD  dwCode,
	LPVOID lpv);

The ConferenceGetInfo function obtains information about a conference or the users in a conference.

hConf
The HCONF used to identify the conference.
dwCode
Indicates the type of information to put into the buffer. See the table below for valid values.
lpv
Points to a buffer that will be modified to contain the information requested. The first 4 bytes must be set to indicate the total size of the buffer. This will be modified, if the function succeeds, to indicate the amount actually used.

The following table describes the dwCode values and associated structures.
dwCode lpv (structure) Description
CONF_GET_USER CONFUSERINFO Get information on a specific user. On entry, dwUserId must be a valid user identifier or 0 to obtain the data for the local user.
CONF_ENUM_USER CONFUSERINFO Enumerate the users in a conference. On entry, dwUserId must be 0 to get the first user data, or the previous user identifier to get the next one in the list.
CONF_GET_CONF CONFINFO Get conference information. On entry, hConf must be the handle of an existing conference or NULL to get the data for the default conference.
CONF_ENUM_CONF CONFINFO Enumerate existing conferences. On entry, hConf must be 0 to get data for the first conference, or the hConf from the previous call to get the next one.
CONF_GET_RECDIR CONFRECDIR Get the default directory for received files.
CONF_GET_FILEINFO CONFFILEINFO Get file transfer progress information. On entry, dwFileId is the file identifier provided in the notification callback.

On entry to this routine, the DWORD pointed to by lpv (the first four bytes) must be set to the size, in bytes, of the appropriate structure.

See also ConferenceSetInfo

ConferenceSetInfo


DWORD WINAPI ConferenceSetInfo(
	HCONF  hConf,
	DWORD  dwCode,
	LPVOID lpv);

The ConferenceSetInfo function changes conference settings.

hConf
The HCONF used to identify the conference. This parameter may be NULL.
dwCode
Indicates the type of information in the buffer. See the table below for valid values.
lpv
Points to a buffer that holds the new conference data. The first 4 bytes must be set to indicate the total size of the structure.

The following table describes the valid dwCode values and associated structures.
dwCode lpv (structure) Description
CONF_SET_NOTIFY CONFNOTIFY Set the notification callback procedure for a conference. On entry, pfnNotifyProc is the address of a CONFNOTIFYPROC for the process and guid is the unique identifier for the application.
CONF_REMOVE_NOTIFY CONFNOTIFY The callback procedure should not receive any more notifications. On entry, pfnNotifyProc is the address of a CONFNOTIFYPROC that was set using CONF_SET_NOTIFY.
CONF_SET_RECDIR CONFRECDIR Set the default directory for receiving files. On entry, szRecDir is a null-terminated pathname to a valid directory. This change affects all subsequent file transfers on the local machine.
CONF_SET_GUID CONFGUID Register the data specified in the CONFGUID structure. If the pszApplication and pszCommandLine are both empty strings, the entry for the guid is removed from the registry.

See also ConferenceGetInfo

ConferenceSendData


DWORD WINAPI ConferenceSendData(
	HCONF      hConf,
	LPCONFDEST lpConfDest,
	LPVOID     lpv,
	DWORD      cb,
	DWORD      dwFlags);

The ConferenceSendData function sends data to participants in a conference.

hConf
The HCONF used to identify the conference.
lpConfDest
Points to a CONFDEST structure that indicates the specific user and application that is to receive the data.
lpv
Points to the buffer of data to be sent.
cb
The number of bytes in the buffer pointed to by lpv.
dwFlags
Reserved for future use.

Notifications of data transmission are made through the notification callback routine for the process. The process receiving the data receives the CONFN_DATA_RECEIVED notification while the sending process gets CONFN_DATA_SENT. In each case, the dwParam parameter is the number of bytes pointed to by lpv2, while lpv1 is the LPCONFDEST.

See also ConferenceSendFile, CONFDEST CONFNOTIFYPROC

ConferenceSendFile


DWORD WINAPI ConferenceSendFile(
	HCONF      hConf,
	LPCONFDEST lpConfDest,
	LPCTSTR    szFileName,
	DWORD      dwFlags);

The ConferenceSendFile function sends a file to one or more participants in a conference.

hConf
The HCONF used to identify the conference.
lpConfDest
Points to a CONFDEST structure that indicates the specific user and application that is to receive the file.
szFileName
The null terminated name of the file to send.
dwFlags
Specifies the options used to send the file. This parameter can be a combination of any of the following:
CONF_SF_NOWAITThe function should start the file transfer immediate and return without waiting for it to complete.
CONF_SF_NOUIThe default progress indicator should not be used.
CONF_SF_NOCOMPRESSThe file should not be compressed.

Notifications of file transfers are made through the CONFNOTIFYPROC for the process. The notification callback receives the following information:
dwParamthe unique file identifier (dwFileId).
lpv1a pointer to the CONFDEST structure
lpv2a pointer to the CONFFILEINFO

See also ConferenceSendData, ConferenceGetInfo, CONFDEST

ConferenceShareWindow


DWORD WINAPI ConferenceShareWindow(
	HWND  hwnd,
	HCONF hConf,
	DWORD dwFlags);

The ConferenceShareWindow function shares an application window to the participants of the specified conference.

hwnd
Identifies the window to share.
hConf
Identifies the conference in which to share the window. If this is NULL, the default conference is used.
dwFlags
Specifies the sharing options. This must be either CONF_SW_SHARE or CONF_SW_UNSHARE.

The notification callback routine receives CONFN_WINDOW_SHARED or CONFN_WINDOW_UNSHARED when a window changes its sharing status.

See also ConferenceIsWindowShared,

ConferenceIsWindowShared


BOOL WINAPI ConferenceIsWindowShared(
	HWND    hwnd,
	HCONF * phConf);

The ConferenceIsWindowShared function determines whether the specified window is shared.

hwnd
Identifies the window to test.
phConf
Points to the buffer which will contain the conference identifier in which the window is shared. This parameter may be NULL if the conference information is not required.

See also ConferenceShareWindow

ConferenceLaunchRemote


DWORD WINAPI ConferenceLaunchRemote(
	HCONF      hConf,
	LPCONFDEST lpConfDest,
	DWORD      dwReserved);

The ConferenceLaunchRemote function informs a remote system it should attempt to start an application that has been registered.

hConf
The HCONF used to identify the conference.
lpConfDest
Points to a CONFDEST structure that indicates the destination application and user(s).
dwReserved
This parameter is reserved for future use and should be set to 0.

When a destination node receives this notification, it searches the registry for a matching guid. If an application is found, it attempts to start it, based on the data supplied when it was registered.

Note that a return value of CONFERR_SUCCESS does not guarantee the remote application has been started. The local process should monitor CONFN_PEER_ADDED notifications to detect when the remote process has joined the conference.

See also ConferenceSetInfo, CONFDEST,

CONFNOTIFYPROC


DWORD WINAPI ConfNotifyProc(
	HCONF  hConf,
	DWORD  dwCode,
	DWORD  dwParam,
	LPVOID lpv1,
	LPVOID lpv2);

CONFNOTIFYPROC is an application-defined callback function for conference events.

hConf
Provides a conference identifier to the ConfNotifyProc.
dwCode
Specifies the conference event that occurred. See the comments section for a table of valid notification codes.
dwParam
Specifies a parameter for the event corresponding to dwCode.
lpv1
Specifies a parameter for the event corresponding to dwCode.
lpv2
Specifies a parameter for the event corresponding to dwCode.

The following is a table of notification codes with their associated parameter definitions.
dwCode dwParam lpv1 lpv2
CONFN_CONFERENCE_INIT -- LPCONFADDR LPCONFINFO
CONFN_CONFERENCE_START -- LPCONFADDR LPCONFINFO
CONFN_CONFERENCE_STOP -- LPCONFADDR LPCONFINFO
CONFN_CONFERENCE_ERROR -- -- --
CONFN_USER_ADDED dwUserId LPCONFADDR LPCONFUSERINFO
CONFN_USER_REMOVED dwUserId LPCONFADDR LPCONFUSERINFO
CONFN_PEER_ADDED dwUserId LPCONFDEST --
CONFN_PEER_REMOVED dwUserId LPCONFDEST --
CONFN_WINDOW_SHARED HWND -- --
CONFN_WINDOW_UNSHARED HWND -- --
CONFN_DATA_RECEIVED the number of bytes pointed to by lpv2 LPCONFDEST pointer to data received
CONFN_DATA_SENT the number of bytes pointed to by lpv2 LPCONFDEST pointer to data sent
CONFN_FILESEND_START dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILESEND_PROGRESS dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILESEND_COMPLETE dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILESEND_ERROR dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILERECEIVE_START dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILERECEIVE_PROGRESS dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILERECEIVE_COMPLETE dwFileId LPCONFDEST LPCONFFILEINFO
CONFN_FILERECEIVE_ERROR dwFileId LPCONFDEST LPCONFFILEINFO

The values of lpv1 and lpv2 must not be used past the return from this callback. If necessary, the data pointed to by the structures may be copied.

See also ConferenceConnect CONFNOTIFY


[Previous] [Up One Level] [Next]