Condividi tramite


EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION funzione di callback (sercx.h)

La EvtSerCx2SystemDmaTransmitInitializeTransaction funzione di callback degli eventi viene chiamata dalla versione 2 dell'estensione del framework seriale (SerCx2) per preparare il driver del controller seriale per eseguire una transazione di trasmissione DMA di sistema.

Sintassi

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION EvtSercx2SystemDmaTransmitInitializeTransaction;

void EvtSercx2SystemDmaTransmitInitializeTransaction(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] ULONG Length
)
{...}

Parametri

[in] SystemDmaTransmit

Handle SERCX2SYSTEMDMATRANSMIT a un oggetto di trasmissione DMA di sistema. Il driver del controller seriale precedentemente denominato SerCx2SystemDmaTransmitCreate metodo per creare questo oggetto.

[in] Length

Numero di byte da trasferire nella transazione di trasmissione system-DMA.

Valore restituito

Nessuno

Osservazioni

Il driver del controller seriale può, come opzione, implementare questa funzione. Se implementato, il driver registra la funzione nel SerCx2SystemDmaTransmitCreate chiamata che crea l'oggetto system-DMA-transmit.

Il driver deve implementare una funzione EvtSerCx2SystemDmaTransmitInitializeTransaction se deve inizializzare il controller seriale e l'hardware associato in preparazione per una nuova transazione di trasmissione system-DMA. SerCx2 chiama questa funzione, se implementata, prima dell'avvio di una transazione di trasmissione DMA di sistema. In risposta a questa chiamata, il driver del controller seriale deve chiamare il metodo SerCx2SystemDmaTransmitInitializeTransactionComplete per notificare a SerCx2 al termine dell'inizializzazione.

Per altre informazioni, vedere SerCx2 System-DMA-Transmit Transactions.

Esempi

Per definire un EvtSerCx2SystemDmaTransmitInitializeTransaction 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 l'analisi del codice per i driver, del driver statico (SDV) e altri strumenti di verifica rilevano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire un EvtSerCx2SystemDmaTransmitInitializeTransaction funzione di callback denominata MySystemDmaTransmitInitializeTransaction, usare il tipo di funzione EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION, come illustrato in questo esempio di codice:

EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION  MySystemDmaTransmitInitializeTransaction;

Implementare quindi la funzione di callback come segue:

_Use_decl_annotations_
VOID
  MySystemDmaTransmitInitializeTransaction(
    SERCX2SYSTEMDMATRANSMIT  SystemDmaTransmit,
    ULONG Length
    )
  {...}

Il tipo di funzione EVT_SERCX2_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION è 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_SYSTEM_DMA_TRANSMIT_INITIALIZE_TRANSACTION 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.

Vedere anche

SERCX2SYSTEMDMATRANSMIT

SerCx2SystemDmaTransmitCreare

SerCx2SystemDmaTransmitInitializeTransactionComplete