DMA_SUSPEND_HANDLER Rückruffunktion (netdma.h)
in Windows 8 und höher.
Syntax
DMA_SUSPEND_HANDLER DmaSuspendHandler;
NTSTATUS DmaSuspendHandler(
[in] PVOID ProviderChannelContext,
[out] PPHYSICAL_ADDRESS *pLastDescriptor
)
{...}
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 .
[out] pLastDescriptor
Ein Zeiger auf eine Variable, die die physische Adresse des letzten erfolgreich verarbeiteten DMA-Deskriptors enthält. Der DMA-Anbieter stellt diese Adresse bereit, bevor er von ProviderSuspendDma zurückgibt.
Rückgabewert
ProviderSuspendDma gibt einen der folgenden status Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Vorgang ist aus nicht angegebenen Gründen fehlgeschlagen. |
Hinweise
Die ProviderSuspendDma-Funktion ist eine optionale Funktion für NetDMA-Anbieter. Die NetDMA-Schnittstelle kann ggf. die ProviderSuspendDma-Funktion aufrufen, um DMA-Übertragungen, die in einem DMA-Kanal ausgeführt werden, vorübergehend auszusetzen.
Der DMA-Anbieter schließt die Übertragung des aktuellen DMA-Deskriptors ab, bevor er von ProviderSuspendDma zurückgegeben wird. Wenn der Abschluss status Berichterstellung aktiviert ist, schreibt die DMA-Engine den NetDmaTransferStatusSuspend-status in die Adresse, die in den Membern CompletionVirtualAddress und CompletionPhysicalAddress in angegeben ist. NET_DMA_CHANNEL_PARAMETERS Struktur.
Während die DMA-Übertragungen angehalten werden, kann die NetDMA-Schnittstelle die verknüpfte DMA-Deskriptorliste ändern (z. B. zum Einfügen oder Löschen von Deskriptoren).
Die NetDMA-Schnittstelle ruft die ProviderResumeDma-Funktion auf, um DMA-Vorgänge fortzusetzen, die durch Aufrufen von ProviderSuspendDma angehalten wurden.
NetDMA ruft ProviderSuspendDma unter IRQL <= DISPATCH_LEVEL auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für NetDMA 1.0-Treiber in Windows Vista. |
Zielplattform | Windows |
Kopfzeile | netdma.h (netdma.h einschließen) |
IRQL | <= DISPATCH_LEVEL |