![]() |
![]() |
![]() |
![]() |
DWORD WINAPI ConferenceCancelTransfer( HCONF hConf, DWORD dwFileId);
Stops the transfer of a file.
Note that it is possible for the transfer to complete before the request to cancel has been processed.
See also ConferenceSendFile, CONFDEST
DWORD WINAPI ConferenceConnect( HCONF * phConf, LPCONFADDR lpConfAddr, LPCONFINFO lpConfInfo, LPCONFNOTIFY lpConfNotify);
Establishes a conference connection between two systems.
CONFERR_INVALID_HCONF | The value pointed to by the phConf parameter is invalid. |
CONFERR_INVALID_PARAMETER | Another parameter, or a field within another parameter, is invalid. |
This function can be used to establish a new conference or to add another user to an existing conference.
The callback routine receives the following notifications as a result of this function:
CONFN_CONFERENCE_INIT | The function parameters have been validated and the connection request is being processed. This notification is not received when adding users to an existing conference. |
CONFN_CONFERENCE_START | The conference has officially started. |
CONFN_CONFERENCE_ERROR | An error was encountered when attempting to create the conference. |
See also ConferenceDisconnect, CONFADDR, CONFINFO, CONFNOTIFY, CONFNOTIFYPROC
DWORD WINAPI ConferenceDisconnect( HCONF hConf);
Stops an existing conference.
If the conference was successfully terminated, the callback receives a CONFN_CONFERENCE_STOP notification.
See also ConferenceConnect, CONFNOTIFYPROC
DWORD WINAPI ConferenceGetInfo( HCONF hConf, DWORD dwCode, LPVOID lpv);
Obtains information about a conference or the users in a conference.
The following table describes the valid dwCode values and associated structures.
dwCode | lpv (structure) | Description |
CONF_GET_USER | CONFUSERINFO | Gets information on a specific user. On entry, the dwUserId value must be zero to obtain the data for the local user, or a valid user identifier otherwise. |
CONF_ENUM_USER | CONFUSERINFO | Enumerates the users in a conference. On entry, the dwUserId value must be zero to get the first user data, or the previous user identifier to get the next one in the list. |
CONF_GET_CONF | CONFINFO | Gets conference information. On entry, the hConf value must be the handle of an existing conference, or NULL to get the data for the default conference. |
CONF_ENUM_CONF | CONFINFO | Enumerates existing conferences. On entry, the hConf value must be zero to get data for the first conference, or the hConf from the previous call to get the next one. |
CONF_ENUM_PEER | CONFDEST | Enumerates the peer users for an application in a conference. On entry, dwUserId must be zero to get the first peer information, or the previous user identifier to get the next one in the list. |
CONF_GET_RECDIR | CONFRECDIR | Gets the default directory for received files. |
CONF_GET_FILEINFO | CONFFILEINFO | Gets file transfer progress information. On entry, dwFileId value is the file identifier provided in the notification callback. |
On entry to this routine, the DWORD pointed to by the lpv parameter (the first four bytes) must be set to the size, in bytes, of the appropriate structure.
See also ConferenceSetInfo
DWORD WINAPI ConferenceLaunchRemote( HCONF hConf, LPCONFDEST lpConfDest, DWORD dwReserved);
Informs a remote system that it should attempt to start an application that has been registered.
When a destination node receives this notification, it searches the registry for a matching guid. If an entry for an application is found, it attempts to start it, based on the data supplied when it was registered.
There is no notification given if the guid is not found or the application fails to start.
Note that a return value of CONFERR_SUCCESS does not guarantee the remote application has been started.
To detect when a remote application has joined the conference, it could register a callback with a guid, usually the same as the one used to launch the application. When the remote version of the application is launched and establishes its callback with the same guid, the local application will receive a CONFN_PEER_ADDED notification.
See also ConferenceSetInfo, ConferenceSetNotify, CONFDEST
DWORD WINAPI ConferenceListen( DWORD dwReserved);
Starts the conferencing system in background mode, allowing it to accept incoming calls.
Note that the user can set options to automatically accept incoming calls or shut down the conferencing system.
This function has no effect if conferencing is already running.
DWORD WINAPI ConferenceRemoveNotify( HCONF hConf, HCONFNOTIFY hConfNotify);
Requests that a procedure established by ConferenceSetNotify no longer receive notifications about conferencing events.
See also ConferenceSetNotify, CONFNOTIFY, CONFNOTIFYPROC, HCONFNOTIFY
DWORD WINAPI ConferenceSendData( HCONF hConf, LPCONFDEST lpConfDest, LPVOID lpv, DWORD cb, DWORD dwFlags);
Sends data to participants in a conference.
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 process sending the data receives the CONFN_DATA_SENT notification. In each case, the dwParam parameter is the number of bytes pointed to by lpv2 parameter, while lpv1 points to the CONFDEST structure.
The receiving application must have a callback registered with the same guid as specified in the lpConfDest parameter.
The dwFlags field of the CONFDEST structure pointed to by lpv1 can have one or more of the following flags set:
CONF_DF_BROADCAST | The data was broadcast to all users. |
CONF_DF_PRIVATE | The data was sent directly from one computer to another. |
CONF_DF_DATA_SEGMENT_BEGIN | This is the start of a data block. |
CONF_DF_DATA_SEGMENT_END | This is the end of a data block. |
If the size of the data block is under 4000 bytes, the data will normally not be broken into smaller packets, and both the CONF_DF_DATA_SEGMENT_BEGIN and CONF_DF_DATA_SEGMENT_END bits will be set.
See also ConferenceSendFile, ConferenceSetNotify, CONFDEST, CONFNOTIFYPROC
DWORD WINAPI ConferenceSendFile( HCONF hConf, LPCONFDEST lpConfDest, LPCTSTR szFileName, DWORD dwFlags);
Sends a file to one or more participants in a conference.
CONFERR_FILE_NOT_FOUND | The file or path is invalid. |
CONFERR_INVALID_PARAMETER | A dwFlags parameter value is invalid or any of the structure member values pointed to by the lpConfDest parameter are invalid. |
CONF_SF_NOWAIT | The function should start the file transfer immediately and return without waiting for it to complete. |
CONF_SF_NOUI | The default progress indicator should not be used. |
CONF_SF_NOCOMPRESS | The file should not be compressed. |
Notifications of file transfers are made through the CONFNOTIFYPROC structure for the process. The notification callback receives the following information:
dwParam | The unique file identifier (dwFileId). |
lpv1 | A pointer to the CONFDEST structure. |
lpv2 | A pointer to the CONFFILEINFO structure. |
See also ConferenceGetInfo, ConferenceSendData, CONFDEST
DWORD WINAPI ConferenceSetInfo( HCONF hConf, DWORD dwCode, LPVOID lpv);
Changes conference settings.
The following table describes the valid dwCode values and associated structures.
dwCode | lpv (structure) | Description |
CONF_SET_RECDIR | CONFRECDIR | Sets the default directory for receiving files. On entry, the szRecDir value represents a null-terminated path to a valid directory. This change affects all subsequent file transfers on the local computer. |
CONF_SET_GUID | CONFGUID | Registers the data specified in the CONFGUID structure. If pszApplication and pszCommandLine values are both empty strings, the entry for guid is removed from the registry. |
See also ConferenceGetInfo
DWORD WINAPI ConferenceSetNotify( HCONF hConf, LPCONFNOTIFY lpConfNotify, HCONFNOTIFY * phConfNotify);
Establishes a notification callback routine for an application.
See also ConferenceRemoveNotify, CONFNOTIFY, CONFNOTIFYPROC, HCONFNOTIFY
DWORD WINAPI ConferenceShareWindow( HCONF hConf, HWND hwnd, DWORD dwCode);
Shares an application window to the participants of the specified conference.
CONFERR_NO_APP_SHARING | Application sharing is not currently active. |
CONFERR_NOT_SHARED | The hwnd is not shared. |
CONFERR_NOT_SHAREABLE | The hwnd cannot be shared. |
CONFERR_ALREADY_SHARED | The hwnd is already shared. |
CONF_SW_SHARE | Share the application associated with hwnd. |
CONF_SW_UNSHARE | Stop sharing the application associated with hwnd. |
CONF_SW_SHAREABLE | Check if hwnd is capable of being shared. |
CONF_SW_IS_SHARED | Check if hwnd is currently shared. |
The notification callback routine receives CONFN_WINDOW_SHARED or CONFN_WINDOW_UNSHARED when a window changes its sharing status. The dwParam field value is the window handle. A dwParam of zero indicates application sharing has stopped.
See also CONFNOTIFYPROC
DWORD WINAPI ConfNotifyProc( HCONF hConf, DWORD dwCode, DWORD dwParam, LPVOID lpv1, LPVOID lpv2, DWORD dwUser);
Indicates an application-defined callback function for conference events.
The following table lists notification codes with their associated parameter definitions.
dwCode | dwParam | lpv1 | lpv2 |
CONFN_CONFERENCE_INIT | -- | LPCONFADDR | LPCONFINFO |
CONFN_CONFERENCE_START | -- | -- | LPCONFINFO |
CONFN_CONFERENCE_STOP | -- | -- | LPCONFINFO |
CONFN_CONFERENCE_ERROR | -- | -- | LPCONFINFO |
CONFN_USER_ADDED | dwUserId | -- | LPCONFUSERINFO |
CONFN_USER_REMOVED | dwUserId | -- | LPCONFUSERINFO |
CONFN_USER_UPDATE | dwUserId | -- | LPCONFUSERINFO |
CONFN_PEER_ADDED | dwUserId | LPCONFDEST | -- |
CONFN_PEER_REMOVED | dwUserId | LPCONFDEST | -- |
CONFN_WINDOW_SHARED | HWND | -- | -- |
CONFN_WINDOW_UNSHARED | HWND | -- | -- |
CONFN_DATA_RECEIVED | Number of bytes pointed to by lpv2. | LPCONFDEST | Pointer to data received. |
CONFN_DATA_SENT | 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 can be copied.
See also ConferenceConnect, CONFNOTIFY
typedef DWORD CONFERR;
The return value of a conferencing function can be any one of the following values.
Error Code | Description |
CONFERR_ACCESS_DENIED | Access to an object (file, user, and so on.) was denied. |
CONFERR_ALREADY_SHARED | The application is already shared. |
CONFERR_BUFFER_TOO_SMALL | The buffer pointed to by a parameter is not large enough for the operation. |
CONFERR_ENUM_COMPLETE | Enumeration is complete. |
CONFERR_FILE_NOT_FOUND | The file was not found. |
CONFERR_FILE_RECEIVE_ABORT | The receiving of the file was canceled. |
CONFERR_FILE_SEND_ABORT | The file send was canceled. |
CONFERR_FILE_TRANSFER | There was a problem transferring the file. |
CONFERR_INVALID_ADDRESS | The address is invalid or not found. |
CONFERR_INVALID_BUFFER | The buffer pointed to by a parameter is not valid for read/write. |
CONFERR_INVALID_HCONF | The hConf parameter is not valid. |
CONFERR_INVALID_HWND | The value passed to ConferenceShareWindow is not a valid hwnd. |
CONFERR_INVALID_OPERATION | The requested operation is not valid at this time. |
CONFERR_INVALID_PARAMETER | One of the calling parameters is incorrect. |
CONFERR_NO_APP_SHARING | Application sharing is not currently available. |
CONFERR_NOT_SHARED | The application window is not currently shared. |
CONFERR_NOT_SHAREABLE | The application window cannot be shared. |
CONFERR_OUT_OF_MEMORY | A function could not allocate sufficient memory to complete the operation. |
CONFERR_PATH_NOT_FOUND | The path was not found. |
CONFERR_RECEIVE_DIR | There was a problem with the receive directory. |
CONFERR_SUCCESS | The function completed the requested operation successfully. |
typedef struct tagConfAddr { DWORD dwSize; DWORD dwAddrType; union { DWORD dwIp; PTSTR psz; }; } CONFADDR;
Describes the address of another computer.
CONF_ADDR_IP | The dwIp parameter holds the IP address. |
CONF_ADDR_MACHINENAME | The psz parameter is the name of a computer on the local network. |
CONF_ADDR_PSTN | The psz parameter is the TAPI canonical telephone number. |
CONF_ADDR_UNKNOWN | Neither dwIp nor psz is used. |
See also ConferenceConnect
typedef struct tagConfDest { DWORD dwSize; DWORD dwFlags; DWORD dwUserId; DWORD dwReserved; GUID guid; } CONFDEST;
Defines a destination node within a conference.
CONF_DF_BROADCAST | Data was broadcast to everyone in the conference. |
CONF_DF_PRIVATE | Data was sent from one peer to another. |
CONF_DF_DATA_SEGMENT_BEGIN | This is the start of a data block. |
CONF_DF_DATA_SEGMENT_END | This is the end of a data block. |
See also ConferenceSendData, ConferenceSendFile, GUID
typedef struct tagConfFileInfo { DWORD dwSize; DWORD dwFileId; DWORD dwReserved1; DWORD dwFileSize; DWORD dwReserved2; DWORD dwBytesTransferred; DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; TCHAR szFileNameSrc[MAX_PATH]; TCHAR szFileNameDest[MAX_PATH]; } CONFFILEINFO;
Describes a file in the process of being transferred.
See also ConferenceCancelTransfer, ConferenceGetInfo, ConferenceSendFile
typedef struct tagConfGuid { DWORD dwSize; GUID guid; LPCTSTR pszApplication; LPCTSTR pszCommandLine; LPCTSTR pszDirectory; } CONFGUID;
Specifies the parameters passed to CreateProcess when an active conference receives a notification to invoke the application associated with the guid.
See also ConferenceLaunchRemote, ConferenceSetInfo
typedef struct tagConfInfo { DWORD dwSize; HCONF hConf; DWORD dwMediaType; DWORD dwState; DWORD cUsers; DWORD dwGCCID; TCHAR szConferenceName[CONF_MAX_CONFERENCENAME]; } CONFINFO;
Defines the current conference settings.
CONF_MT_ALL | Specifies all types. |
CONF_MT_AUDIO | Audio is available. |
CONF_MT_DATA | Data conference. |
CONF_MT_VIDEO | Video is available. |
CONF_CS_ACTIVE | The conference is active. |
CONF_CS_INITIALIZING | The conference is being initialized. |
CONF_CS_INVALID | This is not a valid state. |
CONF_CS_STOPPING | The conference is being terminated. |
See also ConferenceConnect, ConferenceGetInfo
typedef struct tagConfNotify { DWORD dwSize; DWORD dwUser; DWORD dwFlags; CONFNOTIFYPROC pfnNotifyProc; GUID guid; } CONFNOTIFY;
Specifies the notification callback routine for a process in a conference.
An application must fill out the dwSize and pfnNotifyProc fields of this structure.
See also ConferenceConnect, ConferenceGetInfo, ConferenceSendData, CONFNOTIFYPROC
typedef struct tagConfRecDir { DWORD dwSize; TCHAR szRecDir[MAX_PATH]; } CONFRECDIR;
Describes the default directory for received files.
Note there is only one current receive directory for the local computer, and it is saved across sessions.
See also ConferenceGetInfo, ConferenceSendFile
typedef struct tagConfUserInfo { DWORD dwSize; DWORD dwUserId; DWORD dwFlags; DWORD dwReserved; TCHAR szUserName[CONF_MAX_USERNAME]; } CONFUSERINFO;
Describes a single user in a conference.
CONF_UF_AUDIO | The user is participating in the audio conference. |
CONF_UF_DATA | The user is in the data conference. |
CONF_UF_LOCAL | The user is the local user. |
CONF_UF_VIDEO | The user is displaying a video image. |
See also ConferenceGetInfo
typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8]; } GUID;
Holds a globally unique identifier (GUID), which identifies a particular object class and interface. This identifier is a 128-bit value.
For more information about GUIDs, see the Remote Procedure Call (RPC) documentation or the OLE Programmer's Reference.
Use the guidgen.exe utility to generate new values.
See also CONFDEST, CONFGUID, CONFNOTIFY
typedef HANDLE HCONF;
Identifies a conference.
A NULL hConf implies the default conference, if one is available.
typedef HANDLE HCONFNOTIFY;
Identifies a conferencing notification callback.
This is returned by the ConferenceSetNotify function to identify a specific callback and must be passed to the ConferenceRemoveNotify function.
![]() |
![]() |
![]() |
![]() |