Funzione WdfDmaTransactionGetCurrentDmaTransferLength (wdfdmatransaction.h)
[Si applica solo a KMDF]
Il metodo WdfDmaTransactionGetCurrentDmaTransferLength restituisce le dimensioni del trasferimento DMA corrente.
Sintassi
size_t WdfDmaTransactionGetCurrentDmaTransferLength(
[in] WDFDMATRANSACTION DmaTransaction
);
Parametri
[in] DmaTransaction
Handle per un oggetto transazione DMA ottenuto dal driver da una chiamata precedente a WdfDmaTransactionCreate.
Valore restituito
WdfDmaTransactionGetCurrentDmaTransferLength restituisce la lunghezza del trasferimento DMA corrente.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni:
Se un driver chiama WdfDmaTransactionGetCurrentDmaTransferLength, deve farlo prima di chiamare una delle routine di completamento del trasferimento, ad esempio WdfDmaTransactionDmaCompleted, per completare il trasferimento DMA corrente. In genere, i driver chiamano WdfDmaTransactionGetCurrentDmaTransferLength dall'interno di un EvtInterruptDpc funzione di callback degli eventi.
In genere, un driver chiama WdfDmaTransactionGetCurrentDmaTransferLength per i dispositivi che segnalano lunghezze di trasferimento DMA residui( ovvero conteggi di byte di dati non trasferiti). Sottraendo la lunghezza del trasferimento residuo dal valore restituito WdfDmaTransactionGetCurrentDmaTransferLength restituito, il driver può determinare la lunghezza effettiva del trasferimento. Il driver chiama quindi WdfDmaTransactionDmaCompletedWithLength per informare il framework del numero di byte effettivamente trasferiti dal dispositivo.
Per altre informazioni sui trasferimenti DMA completi, vedere Completamento di un trasferimento DMA.
Esempi
Per un esempio di codice che usa WdfDmaTransactionGetCurrentDmaTransferLength, vedere WdfDmaTransactionDmaCompletedWithLength.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
intestazione | wdfdmatransaction.h (include Wdf.h) |
Biblioteca | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <=DISPATCH_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |