EVT_SERCX_PURGE funzione di callback (sercx.h)
La EvtSerCxPurge funzione di callback degli eventi viene chiamata dall'estensione del framework seriale (SerCx) per ripulire i buffer hardware del controller seriale.
Sintassi
EVT_SERCX_PURGE EvtSercxPurge;
NTSTATUS EvtSercxPurge(
[in] WDFDEVICE Device,
[in] ULONG PurgeMask
)
{...}
Parametri
[in] Device
Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale.
[in] PurgeMask
Set di flag che descrivono i buffer hardware che devono essere eliminati. Attualmente, non sono definiti flag per le operazioni di eliminazione eseguite dal controller seriale. Per altre informazioni, vedere Osservazioni.
Valore restituito
La funzione EvtSerCxPurge restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, restituisce un codice di stato di errore appropriato.
Osservazioni
Il driver del controller seriale implementa questa funzione di callback. SerCx chiama questa funzione quando un client (applicazione o driver periferico) invia una richiesta di controllo IOCTL_SERIAL_PURGE che richiede l'eliminazione dei buffer hardware gestiti dal controller seriale.
SerCx esegue le operazioni di eliminazione designate dai flag elencati nella tabella seguente.
Bit flag | Significato |
---|---|
SERIAL_PURGE_RXABORT | Elimina tutte le richieste di lettura. |
SERIAL_PURGE_RXCLEAR | Ripulire il buffer di input, se presente. Tutti i dati di ricezione in questo buffer vengono eliminati. |
SERIAL_PURGE_TXABORT | Elimina tutte le richieste di scrittura. |
SERIAL_PURGE_TXCLEAR | Eliminare il buffer di output, se presente. Tutti i dati di trasmissione in questo buffer vengono eliminati. |
La funzione evtSerCxPurge
Attualmente non vengono definiti flag XXX SERIAL_PURGE_
Se la richiesta di controllo IOCTL_SERIAL_PURGE richiede l'annullamento di richieste di lettura o scrittura in sospeso, SerCx annulla queste richieste prima di chiamare la funzione EvtSerCxPurge.
Per registrare un EvtSerCxPurge funzione di callback, il driver del controller chiama il metodo SerCxInitialize durante il callback EvtDriverDeviceAdd.
Esempi
Il tipo di funzione per questo callback viene dichiarato in Sercx.h, come indicato di seguito.
typedef NTSTATUS
EVT_SERCX_PURGE(
__in WDFDEVICE Device,
__in ULONG PurgeMask
);
Per definire un EvtSerCxPurge funzione di callback denominata MyEvtSerCxPurge
, è prima necessario specificare una dichiarazione di funzione che Static Driver Verifier (SDV) e altri strumenti di verifica, come indicato di seguito.
EVT_SERCX_PURGE MyEvtSerCxPurge;
Implementare quindi la funzione di callback come indicato di seguito.
NTSTATUS
MyEvtSerCxPurge(
__in WDFDEVICE Device,
__in ULONG PurgeMask
)
{ ... }
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 |