winbase.h


ClearCommError

Recupera información sobre errores de comunicación e informa sobre el estado actual del dispositivo de comunicaciones. La función es llamada cuando ocurren errores de comunicación, y elimina el flag de error del dispositivo para permitir operaciones de entrada y salida (I/O) adicionales.

Sintaxis

BOOL ClearCommError(
    HANDLE hFile,      // manipulador de dispositivo de comunicaciones
    LPDWORD lpErrors,  // dirección de variable para recibir códigos de error
    LPCOMSTAT lpStat   // dirección del buffer para estado de comunicaciones
   );

Parámetros:

hFile: identifica el dispositivo de comunicaciones. La función CreateFile devuelve este manipulador.

lpErrors: puntero a variable de 32 bits que se rellenará con una máscara que indicará el tipo de error. Este parámetro puede tener uno o más de los valores siguientes:

Valor Significado
CE_BREAK Se ha detectado un corte en la entrada.
CE_DNS Sólo en Windows 95: no se ha seleccionado un dispositivo paralelo.
CE_FRAME El hardware ha detectado un error de trama.
CE_IOE Ha ocurrido un error de I/O durante las comunicaciones con el dispositivo.
CE_MODE El modo requerido no está soportado o el parámetro hFile es inválido. Si se especifica este valor, es el único error válido.
CE_OOP Sólo en Windows 95: el dispositivo paralelo indica que se ha quedado sin papel.
CE_OVERRUN Se ha producido un desbordamiento del buffer de caracteres. El siguiente carácter se perderá.
CE_PTO Sólo en Windows 95: a ocurrido un time-out en el dispositivo paralelo.
CE_RXOVER Ha ocurrido un desbordamiento del buffer de entrada. No queda espacio en el buffer de entrada, o se ha recibido un carácter después de carácter fin-de-fichero (EOF).
CE_RXPARITY El hardware ha detectado un error de paridad.
CE_TXFULL La aplicación ha intentado transmitir un carácter, pero el buffer de salida estaba lleno.

lpStat: puntero a una estructura COMSTAT en la que se devolverá la información sobre el estado del dispositivo. Si lpStat es NULL, no se devuelve información sobre el estado.

Valor de retorno

Si la función tiene éxito, el valor de retorno es TRUE.

Si la función falla, el valor de retorno es FALSE. Para obtener mayor información sobre el error, llamar a GetLastError.

Observaciones

Si un puerto de comunicaciones se ha activado con un valor TRUE para el miembro fAbortOnError de la estructura DCB, el software de comunicaciones termiará todas las operaciones de lectura y escritura en el puerto de comunicaciones cuando ocurra un error de comunicaciones. No se aceptarán nuevas operaciones de lectura o escritura hasta que la aplicación reconozca el error de comunicaciones mediante una llamada a la función ClearCommError.

La función ClearCommError actualiza el buffer de estado apuntado por el parámetro lpStat con el estado actual del dispositivo de comunicaciones especificado por el parámetro.