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.
Die ProviderAppendDma--Funktion fügt eine verknüpfte Liste der DMA-Deskriptoren an den letzten Deskriptor in einem DMA-Kanal an.
Syntax
DMA_APPEND_HANDLER DmaAppendHandler;
NTSTATUS DmaAppendHandler(
[in] PVOID ProviderChannelContext,
[in] PNET_DMA_DESCRIPTOR DescriptorVirtualAddress,
[in] PHYSICAL_ADDRESS DescriptorPhysicalAddress,
[in] ULONG DescriptorCount
)
{...}
Parameter
[in] ProviderChannelContext
Ein Zeiger, der den Kontextbereich eines DMA-Kanals identifiziert. Der DMA-Anbieter hat dieses Handle an netDMA an dem Speicherort zurückgegeben, der im pProviderChannelContext Parameter des ProviderAllocateDmaChannel Funktion.
[in] DescriptorVirtualAddress
Ein Zeiger auf die virtuelle Adresse der ersten NET_DMA_DESCRIPTOR Struktur in einer verknüpften Liste der DMA-Deskriptoren. Die entsprechende physische Adresse wird an der DescriptorPhysicalAddress Parameter angegeben.
[in] DescriptorPhysicalAddress
Ein Zeiger auf die physische Adresse des ersten DMA-Deskriptors in einer verknüpften Liste von DMA-Deskriptoren. Die entsprechende virtuelle Adresse wird an der DescriptorVirtualAddress Parameter angegeben.
[in] DescriptorCount
Die Anzahl der DMA-Deskriptoren bei DescriptorVirtualAddress .
Rückgabewert
ProviderAppendDma gibt einen der folgenden Statuswerte zurück:
| Rückgabecode | Beschreibung |
|---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Vorgang ist aus nicht angegebenen Gründen fehlgeschlagen. |
Bemerkungen
Die NetDMA-Schnittstelle ruft die ProviderAppendDma-Funktion eines DMA-Anbietertreibers auf, um eine verknüpfte Liste der DMA-Deskriptoren nach dem letzten Deskriptor in einem DMA-Kanal anzufügen. Die NetDMA-Schnittstelle kann ProviderAppendDma beliebig oft aufrufen, nachdem eine DMA-Übertragung gestartet wurde. Die NetDMA-Schnittstelle muss jedoch die ProviderStartDma--Funktion aufrufen, nachdem ein Kanal zurückgesetzt oder abgebrochen wurde, oder nachdem der DMA-Kanal zuerst zugewiesen wurde.
Wenn der aktuelle Deskriptor in einer aktiven Übertragung der letzte Deskriptor ist, muss das DMA-Modul den letzten Deskriptor erneut lesen. Der NextDescriptor Member in der letzten NET_DMA_DESCRIPTOR Struktur sollte eine neue Adresse aufweisen, und das DMA-Modul sollte mit dem nächsten Deskriptor fortfahren. Wenn der aktuelle Deskriptor nicht der letzte Deskriptor ist, kann das DMA-Modul die Verarbeitung von DMA-Deskriptoren ohne zusätzliche Aufgaben fortsetzen.
NetDMA ruft ProviderAppendDma- bei IRQL-<= DISPATCH_LEVEL auf.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Unterstützt für NetDMA 2.0-Treiber in Windows Server 2008. Unterstützt für NetDMA 1.1-Treiber in Windows Server 2008. Unterstützt für NetDMA 1.0-Treiber in Windows Server 2008 und Windows Vista. |
| Zielplattform- | Fenster |
| Header- | netdma.h (enthalten Netdma.h) |
| IRQL- | <= DISPATCH_LEVEL |