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 an NetDMA in einem Aufruf von übergeben. NetDmaRegisterProvider-Funktion .

[in] CpuAffinityArray

Ein Zeiger auf ein Array von NET_DMA_CHANNEL_CPU_AFFINITY Strukturen, die die CPU-Affinität 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 status Werte zurück:

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

Hinweise

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

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

Auf Computern, die MSI-X-Plattformen nicht unterstützen, können CPU-Affinitäten für die Interrupt-DPCs, aber nicht für die Interrupts angegeben werden. 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 Unterbrechungsaffinitäten angeben, während IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.

NetDMA ruft ProviderSetDmaChannelCpuAffinity bei IRQL = PASSIVE_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 PASSIVE_LEVEL

Weitere Informationen

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

NET_DMA_CHANNEL_CPU_AFFINITY

NET_DMA_CHANNEL_PARAMETERS

NET_DMA_PROVIDER_CHARACTERISTICS

NetDmaRegisterProvider