EVT_SERCX_FILECLEANUP funzione di callback (sercx.h)

La funzione di callback dell'evento EvtSerCxFileCleanup notifica al driver del controller seriale che un client ha chiuso l'ultimo handle all'oggetto file che rappresenta il dispositivo del controller seriale.

Sintassi

EVT_SERCX_FILECLEANUP EvtSercxFilecleanup;

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

Parametri

[in] Device

Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale.

Valore restituito

nessuno

Osservazioni

Questa funzione può deallocare determinate risorse di sistema assegnate in precedenza al driver per la durata dell'oggetto file. Insieme alla funzione EvtSerCxFileClose , la funzione EvtSerCxFileCleanup deve rimuovere il dispositivo del controller seriale dallo stato in cui è pronto per ricevere e trasmettere i dati. La funzione EvtSerCxFileCleanup deve concentrarsi in modo specifico sulle attività di pulizia, ad esempio deallocazione della memoria.

Se il driver del controller seriale allocato in precedenza solo per la durata dell'oggetto file ora chiuso, il driver dovrebbe deallocare questa memoria nella funzione EvtSerCxFileCleanup o EvtSerCxFileClose .

In genere, gli interruzioni devono essere disabilitati solo dopo il rilascio dell'oggetto file. Pertanto, la funzione EvtSerCxFileClose e non la funzione EvtSerCxFileCleanup , deve disabilitare gli interruzioni.

SerCx chiama la funzione EvtSerCxFileCleanup di un driver dopo la chiusura dell'ultimo handle all'oggetto file. A causa delle richieste di I/O in sospeso, questo oggetto potrebbe non essere ancora rilasciato. Dopo questa chiamata, il driver non riceve nuove richieste per le operazioni di I/O.

SerCx chiama la funzione EvtSerCxFileClose di un driver dopo che chiama la funzione EvtSerCxFileCleanup del driver. SerCx chiama la funzione EvtSerCxFileClose dopo il rilascio dell'oggetto file, che si verifica solo quando tutte le richieste di I/O in sospeso vengono completate o annullate.

La funzione EvtSerCxFileCleanup è facoltativa. Se un driver del controller seriale non implementa questa funzione, la funzione EvtSerCxFileClose del driver deve gestire tutte le attività di pulizia necessarie dopo la chiusura dell'ultimo handle di file.

Per registrare una funzione di callback EvtSerCxFileCleanup , il driver deve chiamare il metodo SerCxInitialize .

Per altre informazioni, vedere Oggetti file framework.

Esempio

Il tipo di funzione per questo callback viene dichiarato in Sercx.h, come indicato di seguito.

typedef VOID
  EVT_SERCX_FILECLEANUP(
    __in WDFDEVICE Device
    );

Per definire una funzione di callback EvtSerCxFileCleanup denominata MyEvtSerCxFileCleanup, è prima necessario specificare una dichiarazione di funzione richiesta dall'utilità di verifica del driver statico (SDV) e altri strumenti di verifica.

EVT_SERCX_FILECLEANUP MyEvtSerCxFileCleanup;

Implementare quindi la funzione di callback come indicato di seguito.

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

Per altre informazioni sui requisiti SDV per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver KMDF.

Requisiti

   
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Desktop
Intestazione sercx.h
IRQL Chiamata in IRQL <= DISPATCH_LEVEL

Vedi anche

EvtSerCxFileClose

SerCxInitialize