DMA_CHANNELS_CPU_AFFINITY_HANDLER funzione di callback (netdma.h)
in Windows 8 e versioni successive.
Sintassi
DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;
NTSTATUS DmaChannelsCpuAffinityHandler(
[in] PVOID ProviderContext,
[in] PNET_DMA_CHANNEL_CPU_AFFINITY CpuAffinityArray,
[in] ULONG CpuAffinityArraySize
)
{...}
Parametri
[in] ProviderContext
Puntatore che identifica l'area di contesto di un provider DMA. Il driver del provider DMA ha passato questo puntatore a NetDMA in una chiamata al funzione NetDmaRegisterProvider.
[in] CpuAffinityArray
Puntatore a una matrice di NET_DMA_CHANNEL_CPU_AFFINITY strutture che specificano le affinità CPU per i canali DMA associati al provider DMA.
[in] CpuAffinityArraySize
Lunghezza, in byte, del buffer in CpuAffinityArray .
Valore restituito
ProviderSetDmaChannelCpuAffinity restituisce uno dei valori di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
L'operazione non è riuscita a causa di risorse insufficienti. |
|
L'operazione non è riuscita per motivi non specificati. |
Osservazioni
L'interfaccia NetDMA chiama un driver del provider DMA ProviderSetDmaChannelCpuAffinity funzione per specificare le affinità CPU dei canali DMA di un provider DMA. NetDMA chiama ProviderSetDmaChannelCpuAffinity nel contesto di funzione NetDmaRegisterProvider.
Poiché il numero effettivo di canali DMA non è noto prima dell'avvio di un provider DMA, l'interfaccia NetDMA specifica le affinità CPU per il numero massimo di canali. Il provider DMA fornisce il numero massimo di canali nel MaxDmaChannelCount membro del NET_DMA_PROVIDER_CHARACTERISTICS struttura passata alla funzione netDmaRegisterProvider.
Nei computer che non supportano le piattaforme MSI-X, è possibile specificare le affinità cpu per i controller di dominio di interrupt, ma non per gli interrupt. In questo caso, l'interfaccia NetDMA specifica un elenco di possibili CPU per l'interrupt DPC nel ProcessorAffinityMask membro del NET_DMA_CHANNEL_PARAMETERS struttura.
Nei computer che supportano MSI-X, il driver del provider DMA può specificare affinità di interruzione durante la gestione di IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP.
NetDMA chiama ProviderSetDmaChannelCpuAffinity in IRQL = PASSIVE_LEVEL.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato per i driver NetDMA 1.0 in Windows Vista. |
piattaforma di destinazione | Finestre |
intestazione | netdma.h (include Netdma.h) |
IRQL | PASSIVE_LEVEL |