Freigeben über


DMA_CHANNELS_CPU_AFFINITY_HANDLER Rückruffunktion (netdma.h)

Hinweis Die NetDMA-Schnittstelle wird nicht unterstützt.

in Windows 8 und höher.

 
Die ProviderSetDmaChannelCpuAffinity--Funktion legt die CPU-Affinität für die DMA-Kanäle fest, die einem DMA-Anbieter zugeordnet sind.

Syntax

DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;

NTSTATUS DmaChannelsCpuAffinityHandler(
  [in] PVOID ProviderContext,
  [in] PNET_DMA_CHANNEL_CPU_AFFINITY CpuAffinityArray,
  [in] ULONG CpuAffinityArraySize
)
{...}

Parameter

[in] ProviderContext

Ein Zeiger, der den Kontextbereich eines DMA-Anbieters identifiziert. Der DMA-Anbietertreiber hat diesen Zeiger in einem Aufruf an NetDMA übergeben. NetDmaRegisterProvider Funktion.

[in] CpuAffinityArray

Ein Zeiger auf ein Array von NET_DMA_CHANNEL_CPU_AFFINITY Strukturen, die die CPU-Affinitäten für die DMA-Kanäle angeben, die dem DMA-Anbieter zugeordnet sind.

[in] CpuAffinityArraySize

Die Länge des Puffers in Bytes bei CpuAffinityArray .

Rückgabewert

ProviderSetDmaChannelCpuAffinity gibt einen der folgenden Statuswerte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
STATUS_RESOURCES
Fehler beim Vorgang aufgrund unzureichender Ressourcen.
STATUS_UNSUCCESSFUL
Der Vorgang ist aus nicht angegebenen Gründen fehlgeschlagen.

Bemerkungen

Die NetDMA-Schnittstelle ruft die ProviderSetDmaChannelCpuAffinity- Funktion eines DMA-Anbietertreibers auf, um die CPU-Affinitäten der DMA-Kanäle eines DMA-Anbieters anzugeben. NetDMA ruft ProviderSetDmaChannelCpuAffinity- im Kontext des NetDmaRegisterProvider Funktion.

Da die tatsächliche Anzahl der DMA-Kanäle nicht bekannt ist, bevor ein DMA-Anbieter gestartet wird, gibt die NetDMA-Schnittstelle die CPU-Affinität für die maximale Anzahl von Kanälen an. Der DMA-Anbieter stellt die maximale Anzahl von Kanälen im MaxDmaChannelCount Mitglied des NET_DMA_PROVIDER_CHARACTERISTICS Struktur, die sie an die NetDmaRegisterProvider-Funktion übergibt.

Auf Computern, die MSI-X Plattformen nicht unterstützen, können CPU-Affinitäten für die Interrupt-DPCs angegeben werden, aber nicht für die Interrupts. In diesem Fall gibt die NetDMA-Schnittstelle eine Liste möglicher CPUs für den Interrupt-DPC im ProcessorAffinityMask Member des NET_DMA_CHANNEL_PARAMETERS Struktur.

Auf Computern, die MSI-X unterstützen, kann der DMA-Anbietertreiber unterbrechungsaffine Affinität angeben, während die Verarbeitung der IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

NetDMA ruft ProviderSetDmaChannelCpuAffinity bei IRQL = PASSIVE_LEVEL auf.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NetDMA 1.0-Treiber in Windows Vista.
Zielplattform- Fenster
Header- netdma.h (enthalten Netdma.h)
IRQL- PASSIVE_LEVEL

Siehe auch

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider-