EVT_SERCX_RECEIVE funzione di callback (sercx.h)
La funzione di callback evtSerCxReceive
Sintassi
EVT_SERCX_RECEIVE EvtSercxReceive;
NTSTATUS EvtSercxReceive(
[in] WDFDEVICE Device,
[in] size_t Length
)
{...}
Parametri
[in] Device
Handle WDFDEVICE per l'oggetto dispositivo framework che rappresenta il controller seriale.
[in] Length
Numero di byte da ricevere. Il driver del controller può usare questo valore come suggerimento per decidere se usare PIO o DMA per eseguire il trasferimento dei dati.
Valore restituito
La funzione EvtSerCxReceive restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, restituisce un codice di stato di errore appropriato.
Osservazioni
L'estensione del framework seriale (SerCx) chiama questa funzione per configurare l'hardware del controller per ricevere i dati. Se necessario, la funzione
La funzione EvtSerCxReceive
Se l'oggetto FIFO di ricezione nel controller seriale è vuoto o quasi vuoto, ma l'interrupt FIFO high-water-mark è abilitato, la routine DPC può semplicemente restituire. Successivamente, l'ISR del driver del controller può pianificare l'esecuzione della routine DPC e questa routine può leggere altri dati dalla ricezione FIFO.
Per registrare un
Esempi
Il tipo di funzione per questo callback viene dichiarato in Sercx.h, come indicato di seguito.
typedef NTSTATUS
EVT_SERCX_RECEIVE(
__in WDFDEVICE Device
);
Per definire un EvtSerCxReceive funzione di callback denominata MyEvtSerCxReceive
, è prima necessario fornire una dichiarazione di funzione che static driver Verifier (SDV) e altri strumenti di verifica necessari, come indicato di seguito.
EVT_SERCX_RECEIVE MyEvtSerCxReceive;
Implementare quindi la funzione di callback come indicato di seguito.
NTSTATUS
MyEvtSerCxReceive(
__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 |