
368 Voice API for Windows Operating Systems Library Reference — November 2003
dx_setchxfercnt( ) — set the bulk queue buffer size
!
!!
!Cautions
•This function fails if an invalid device handle is specified.
•Do not use this function unless it is absolutely necessary to change the bulk queue buffer size
between a user application and Intel® telecom hardware. Setting the buffer size to a smaller
value can degrade system performance because data is transferred in smaller chunks.
•A wrong buffer size can result in loss of data.
•On DM3 boards, it is not recommended to set the bulk queue buffer size to less than 2 kbytes
as this can result in loss of data (underrun condition) under high density load. To monitor
underrun conditions, set DM_UNDERRUN in dx_setevtmsk( ).
!
!!
!Errors
If the function returns -1, use the Standard Runtime Library (SRL) Standard Attribute function
ATDV_LASTERR( ) to obtain the error code or use ATDV_ERRMSGP( ) to obtain a descriptive
error message. One of the following error codes may be returned:
EDX_ BADPARM
Invalid parameter
EDX_SYSTEM
Error from operating system; use dx_fileerrno( ) to obtain error value
!
!!
!Example
#include <windows.h>
#include "srllib.h"
#include "dxxxlib.h"
main()
{
int dev; /* device handle */
/* Open board 1 channel 1 device */
if ((dev = dx_open("dxxxB1C1", 0)) == -1) {
/* Perform system error processing */
exit(1);
}
/* Set the bulk data transfer buffer size to 1.5 kilobytes
*/
if (
dx_setchxfercnt
(dev, 6) == -1) {
printf("Error message = %s", ATDV_ERRMSGP(dev));
exit(1);
}
}
!
!!
!See Also
•dx_setuio( )
•dx_playiottdata( )
•dx_reciottdata( )
•DXCH_XFERBUFSIZE in dx_setparm( )