Condividi tramite


EVT_SERCX_FILECLEANUP funzione di callback (sercx.h)

Il EvtSerCxFileCleanup funzione di callback eventi notifica al driver del controller seriale che un client ha chiuso l'ultimo handle all'oggetto file che rappresenta il dispositivo 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 allocate in precedenza dal driver per la durata dell'oggetto file. In combinazione con la funzione EvtSerCxFileClose, la funzione EvtSerCxFileCleanup deve rimuovere il dispositivo controller seriale dallo stato in cui è pronto per ricevere e trasmettere i dati. La funzione EvtSerCxFileCleanup deve concentrarsi specificamente 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 deve deallocare questa memoria nella EvtSerCxFileCleanup o EvtSerCxFileClose funzione.

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

SerCx chiama 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 aver chiamato 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 un EvtSerCxFileCleanup funzione di callback, il driver deve chiamare il metodo SerCxInitialize.

Per altre informazioni, vedere Framework File Objects.

Esempi

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 un EvtSerCxFileCleanup funzione di callback denominata MyEvtSerCxFileCleanup, è prima necessario fornire una dichiarazione di funzione che static driver Verifier (SDV) e altri strumenti di verifica, come indicato di seguito.

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 i tipi di ruolo della funzione per i driver KMDF.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Desktop
intestazione sercx.h
IRQL Chiamato in IRQL <= DISPATCH_LEVEL

Vedere anche

EvtSerCxFileClose

SerCxInitialize