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
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
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 |