EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION funzione di callback (sercx.h)

La funzione di callback dell'evento EvtSerCx2PioTransmitCancelReadyNotification viene chiamata dalla versione 2 dell'estensione del framework seriale (SerCx2) per annullare una notifica pronta abilitata in una chiamata precedente alla funzione di callback dell'evento EvtSerCx2PioTransmitEnableReadyNotification .

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 denominato 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 provocherà la chiamata del metodo SerCx2PioTransmitReady .

La funzione restituisce FALSE se il driver ha già chiamato SerCx2PioTransmitReady o sta per chiamare questo metodo.

Commenti

Il driver del controller seriale deve implementare questa funzione. Il driver registra la funzione nella chiamata SerCx2PioTransmitCreate che crea l'oggetto di trasmissione PIO.

Se la richiesta di scrittura associata scade o viene annullata mentre è abilitata una notifica pronta, SerCx2 chiama la funzione EvtSerCx2PioTransmitCancelReadyNotification 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 la funzione di callback dell'evento EvtSerCx2PioTransmitCleanupTransaction, 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 più dati. SerCx2 ha abilitato questo interrupt in una chiamata precedente alla funzione EvtSerCx2PioTransmitEnableReadyNotification .

Per altre informazioni, vedere SerCx2 PIO-Transmit Transactions.

Esempio

Per definire una funzione di callback EvtSerCx2PioTransmitCancelReadyNotification , è necessario innanzitutto 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 tramite i tipi di funzione di callback consente di analizzare il codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica di trovare errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione di callback EvtSerCx2PioTransmitCancelReadyNotification denominata MyPioTransmitCancelReadyNotification, usare il tipo di funzione EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION , come illustrato nell'esempio di codice seguente:

EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION  MyPioTransmitCancelReadyNotification;

Implementare quindi la funzione di callback come indicato di seguito:

_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 garantisce 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 tipi di ruolo di funzione per i driver KMDF. Per altre informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

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.

Vedi anche

EvtSerCx2PioTransmitEnableReadyNotification

SERCX2PIOTRANSMIT

SerCx2PioTransmitCreate

SerCx2PioTransmitReady