Opens a conference resource and obtains a conference resource handle.
DWORD cnfOpenResource ( CTAHD ctahd, unsigned resourcenum, CNFRESOURCEHD *cnfresourcehd)
|
Argument |
Description |
|
ctahd |
Context handle returned by ctaCreatecontext. |
|
resourcenum |
Conference resource number as declared in the NaturalConference configuration file (cnf.cfg). |
|
cnfresourcehd |
Pointer to a returned resource handle. |
|
Return value |
Description |
|
SUCCESS |
|
|
CTAERR_BAD_ARGUMENT |
cnfresourcehd is a NULL pointer. |
|
CTAERR_BOARD_ERROR |
Resource was defined in cnf.cfg, but the corresponding DSPs were not loaded by the configuration utility. |
|
CTAERR_INVALID_CTAHD |
ctahd is not a valid handle. |
|
CNFERR_BOARD_TIMEOUT |
Board timed out while waiting for a response message. |
|
CNFERR_CANNOT_CREATE_CHANNEL |
No communication channels are available for use on the specified resource. |
|
CNFERR_RESOURCE_NOT_AVAILABLE |
Resource number designated by resourcenum does not exist or is not available. |
|
CNFERR_RESOURCE_NOT_DEFINED |
Resource is not defined in the NaturalConference configuration file (cnf.cfg). |
|
Event |
Description |
|
CNFEVN_OPEN_RESOURCE_DONE |
Function completed successfully and a new resource handle was allocated. |
cnfOpenResource opens a new conference resource handle on the resource specified by resourcenum. Many handles can be opened on the same conference resource. This handle is required for every other function in NaturalConference. Wait for CNFEVN_OPEN_RESOURCE_DONE before using the cnfresourcehd (important when using the Server mode of Natural Access).
For more information, refer to Creating conferences.
cnfCloseResource, cnfGetResourceInfo
extern CTAHD ctahd;
extern CTAQUEUEHD qhd;
DWORD myOpenResource(unsigned resnum)
{
CNFRESOURCEHD newcnfresourcehd;
DWORD error;
CTA_EVENT evt;
char textbuf[80] = "";
error = cnfOpenResource (ctahd, resnum, &newcnfresourcehd);
if (error != SUCCESS)
{
}
do
{
error = ctaWaitEvent( qhd, &evt, CTA_WAIT_FOREVER );
if(error != SUCCESS)
{
ctaGetText( ctahd, error, textbuf, sizeof( textbuf ) );
printf( "\rError when calling ctaWaitEvent => %s\n",
textbuf);
return(error);
}
} while ( evt.id != CNFEVN_OPEN_RESOURCE_DONE );