EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION funzione di callback (sercx.h)
La EvtSerCx2PioTransmitCancelReadyNotification funzione di callback degli eventi viene chiamata dalla versione 2 dell'estensione del framework seriale (SerCx2) per annullare una notifica pronta abilitata in una chiamata precedente alla EvtSerCx2PioTransmitEnableReadyNotification funzione di callback dell'evento.
Sintassi
EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION EvtSercx2PioTransmitCancelReadyNotification;
BOOLEAN EvtSercx2PioTransmitCancelReadyNotification(
[in] SERCX2PIOTRANSMIT PioTransmit
)
{...}
Parametri
[in] PioTransmit
Handle SERCX2PIOTRANSMIT a un oggetto di trasmissione PIO. Il driver del controller seriale precedentemente chiamato il metodo SerCx2PioTransmitCreate per creare questo oggetto.
Valore restituito
La funzione EvtSerCx2PioTransmitCancelReadyNotification restituisce TRUE se la notifica pronta è stata disabilitata correttamente e il driver del controller seriale può garantire che questa notifica non causerà la chiamata del metodo SerCx2PioTransmitReady.
La funzione restituisce false se il driver ha già chiamato SerCx2PioTransmitReadyo sta per chiamare questo metodo.
Osservazioni
Il driver del controller seriale deve implementare questa funzione. Il driver registra la funzione nel SerCx2PioTransmitCreate chiamata che crea l'oggetto di trasmissione PIO.
Se la richiesta di scrittura associata scade o viene annullata mentre è abilitata una notifica pronta, SerCx2 chiama il EvtSerCx2PioTransmitCancelReadyNotification funzione per annullare la notifica in sospeso. Se questa chiamata restituisce FALSE, SerCx2 prevede che il driver del controller seriale chiami SerCx2PioTransmitReady; solo dopo che questa chiamata esegue serCx2 chiamare il EvtSerCx2PioTransmitCleanupTransaction funzione di callback dell'evento, se implementata e completare la richiesta.
Per annullare una notifica pronta abilitata in precedenza, la funzione EvtSerCx2PioTransmitCancelReadyNotification disabilita in genere l'interrupt nel controller seriale che indica che la trasmissione FIFO è pronta per accettare altri dati. SerCx2 ha abilitato questo interrupt in una chiamata precedente alla funzione EvtSerCx2PioTransmitEnableReadyNotification.
Per altre informazioni, vedere SerCx2 PIO-Transmit Transactions.
Esempi
Per definire un EvtSerCx2PioTransmitCancelReadyNotification funzione di callback, è prima necessario fornire una dichiarazione di funzione che identifica il tipo di funzione di callback che si sta definendo. Windows fornisce un set di tipi di funzione di callback per i driver. La dichiarazione di una funzione usando i tipi di funzione di callback consente di
Ad esempio, per definire un EvtSerCx2PioTransmitCancelReadyNotification funzione di callback denominata MyPioTransmitCancelReadyNotification
, usare il tipo di funzione EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION, come illustrato in questo esempio di codice:
EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION MyPioTransmitCancelReadyNotification;
Implementare quindi la funzione di callback come segue:
_Use_decl_annotations_
BOOLEAN
MyPioTransmitCancelReadyNotification(
SERCX2PIOTRANSMIT PioTransmit
)
{...}
Il tipo di funzione EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION è definito nel file di intestazione Sercx.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations assicura che vengano utilizzate le annotazioni applicate al tipo di funzione EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite i tipi di ruolo della funzione per i driver KMDF. Per altre informazioni su Use_decl_annotations, vedere l'annotazione del comportamento della funzione.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8.1. |
piattaforma di destinazione | Desktop |
intestazione |
sercx.h |
IRQL | Chiamato in IRQL <= DISPATCH_LEVEL. |