Retrieves a list of conference members who can or cannot hear member memberid.
DWORD cnfGetCoaching ( CNFRESOURCEHD cnfresourcehd, DWORD memberid, BYTE flag, unsigned maxlistenerids, DWORD *listeneridlist, unsigned numlistenerids)
|
Argument |
Description |
|
cnfresourcehd |
Resource handle returned by cnfOpenResource. |
|
memberid |
Member identifier returned by cnfJoinConference. |
|
flag |
Value of either CNF_COACHING_HEAR or CNF_COACHING_SILENT. |
|
maxlistenerids |
Maximum number of entries in listeneridlist array. |
|
listeneridlist |
Depending on the flag, points to a list of members who can hear memberid (CNF_COACHING_HEAR) or to a list of members who cannot hear memberid (CNF_COACHING_SILENT). |
|
numlistenerids |
Number of listeners in the conference. Returned by the function. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_BOARD_ERROR |
|
|
CTAERR_INVALID_HANDLE |
cnfresourcehd is not a valid conference handle. |
|
CNFERR_CAPABILITY_NOT_AVAILABLE |
Conference does not have coaching capabilities. |
|
CNFERR_INVALID_IDENTIFIER |
memberid is not a valid member identifier. |
cnfGetCoaching retrieves the list of members who can or cannot (depending on the value of flag) hear the member for which the function was called. This feature is typically used to enable a coach to listen to a conference and provide input to one or more colleagues without the knowledge of other conference members.
// Force the relationship for a member to SILENT
void SetSilent(CNFRESOURCEHD cnfresourcehd, DWORD basemember, DWORD member)
{
DWORD error;
unsigned numlistenerids;
DWORD*memberidlist = NULL;
// Retrieve the current list size
error = cnfGetCoaching(cnfresourcehd, basemember, CNF_COACHING_SILENT, 0, NULL, &numlistenerids);
if (error != SUCCESS)
{
printf("Error %d when retrieving coaching on member %d", error , basemember);
}
// allocate buffer
memberidlist = malloc((numlistenerids + 1) * sizeof(unsigned));
if (memberidlist == NULL);
{
printf("Unable to allocate memory buffer");
}
// Retrieve the current list
error = cnfGetCoaching(cnfresourcehd, basemember, CNF_COACHING_SILENT, numlistenerids,
memberidlist, &numlistenerids);
memberidlist[numlistenerids] = member;
numlistenerids += 1;
error = cnfSetCoaching(cnfresourcehd, basemember, CNF_COACHING_SILENT, memberidlist,
numlistenerids);
if (error != SUCCESS)
{
printf("Error %d when setting coaching on member %d", error , basemember);
}
free(memberidlist);
}