Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WdfDmaTransactionGetCurrentDmaTransferLength Methode gibt die Größe der aktuellen DMA-Übertragung zurück.
Syntax
size_t WdfDmaTransactionGetCurrentDmaTransferLength(
[in] WDFDMATRANSACTION DmaTransaction
);
Die Parameter
[in] DmaTransaction
Ein Handle für ein DMA-Transaktionsobjekt, das der Treiber aus einem vorherigen Aufruf von WdfDmaTransactionCreateabgerufen hat.
Rückgabewert
WdfDmaTransactionGetCurrentDmaTransferLength gibt die Länge der aktuellen DMA-Übertragung zurück.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Wenn ein Treiber WdfDmaTransactionGetCurrentDmaTransferLengthaufruft, muss er dies tun, bevor er eine der Übertragungsabschlussroutinen aufruft, z. B. WdfDmaTransactionDmaCompleted, um die aktuelle DMA-Übertragung abzuschließen. In der Regel rufen Treiber WdfDmaTransactionGetCurrentDmaTransferLength innerhalb eines EvtInterruptDpc Ereignisrückruffunktion auf.
In der Regel ruft ein Treiber WdfDmaTransactionGetCurrentDmaTransferLength- für Geräte auf, die restige DMA-Übertragungslängen melden (d. a. Byteanzahl der nicht übertragenen Daten). Durch Subtrahieren der Restübertragungslänge vom Wert, der WdfDmaTransactionGetCurrentDmaTransferLength zurückgegeben wird, kann der Treiber die tatsächliche Übertragungslänge bestimmen. Anschließend ruft der Treiber WdfDmaTransactionDmaCompletedWithLength- auf, um dem Framework mitzuteilen, wie viele Bytes das Gerät tatsächlich übertragen hat.
Weitere Informationen zu vollständigen DMA-Übertragungen finden Sie unter Abschließen einer DMA-Übertragung.
Beispiele
Ein Codebeispiel, das WdfDmaTransactionGetCurrentDmaTransferLengthverwendet, finden Sie unter WdfDmaTransactionDmaCompletedWithLength.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | universell |
| Minimale KMDF-Version | 1.0 |
| Kopfzeile | wdfdmatransaction.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
| IRQL | <=DISPATCH_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |