Compartir a través de


EVT_SERCX_FILECLEANUP función de devolución de llamada (sercx.h)

La función de devolución de llamada de eventos EvtSerCxFileCleanup notifica al controlador de controlador serie que un cliente ha cerrado el último identificador del objeto de archivo que representa el dispositivo del controlador serie.

Sintaxis

EVT_SERCX_FILECLEANUP EvtSercxFilecleanup;

void EvtSercxFilecleanup(
  [in] WDFDEVICE Device
)
{...}

Parámetros

[in] Device

Un identificador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie.

Valor devuelto

Ninguno

Observaciones

Esta función puede desasignar determinados recursos del sistema que el controlador asignó previamente durante la vigencia del objeto de archivo. Junto con la función EvtSerCxFileClose, la función EvtSerCxFileCleanup debe quitar el dispositivo de controlador serie del estado en el que está listo para recibir y transmitir datos. La función EvtSerCxFileCleanup debe centrarse específicamente en tareas de limpieza, como la desasignación de memoria.

Si el controlador de controlador serie asignó memoria previamente solo durante la vigencia del objeto de archivo que ahora está cerrado, el controlador debe desasignar esta memoria en la función EvtSerCxFileCleanup o EvtSerCxFileClose.

Normalmente, las interrupciones deben deshabilitarse solo después de que se libere el objeto de archivo. Por lo tanto, la función EvtSerCxFileClose, y no la función EvtSerCxFileClean up, debe deshabilitar las interrupciones.

SerCx llama a la función EvtSerCxFileCleanup de un controlador después de cerrar el último identificador del objeto de archivo. Debido a solicitudes de E/S pendientes, es posible que este objeto aún no se libere. Después de esta llamada, el controlador no recibe nuevas solicitudes de operaciones de E/S.

SerCx llama a la función EvtSerCxFileClose de un controlador después de llamar a la función EvtSerCxFileClean up del controlador. SerCx llama a la función EvtSerCxFileClose una vez liberado el objeto de archivo, que se produce solo cuando todas las solicitudes de E/S pendientes se completan o cancelan.

La función EvtSerCxFileCleanup es opcional. Si un controlador de controlador serie no implementa esta función, el controlador EvtSerCxFileClose función debe controlar todas las tareas de limpieza necesarias después de cerrar el último identificador de archivo.

Para registrar una función de devolución de llamada EvtSerCxFileCleanup, el controlador debe llamar al método SerCxInitialize.

Para obtener más información, vea Framework File Objects.

Ejemplos

El tipo de función para esta devolución de llamada se declara en Sercx.h, como se indica a continuación.

typedef VOID
  EVT_SERCX_FILECLEANUP(
    __in WDFDEVICE Device
    );

Para definir un EvtSerCxFileCleanup función de devolución de llamada denominada MyEvtSerCxFileCleanup, primero debe proporcionar una declaración de función que comprobador de controladores estáticos (SDV) y otras herramientas de comprobación necesarias, como se indica a continuación.

EVT_SERCX_FILECLEANUP MyEvtSerCxFileCleanup;

A continuación, implemente la función de devolución de llamada de la manera siguiente.

VOID
  MyEvtSerCxFileCleanup(
    __in WDFDEVICE Device
    )
{ ... }

Para obtener más información sobre los requisitos de SDV para las declaraciones de función, consulte Declaración de funciones mediante tipos de rol de función para controladores kmDF.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.
de la plataforma de destino de Escritorio
encabezado de sercx.h
irQL Se llama a irQL <= DISPATCH_LEVEL

Consulte también

EvtSerCxFileClose

SerCxInitialize