DMA_CHANNELS_CPU_AFFINITY_HANDLER コールバック関数 (netdma.h)
Windows 8 以降で使用できます。
構文
DMA_CHANNELS_CPU_AFFINITY_HANDLER DmaChannelsCpuAffinityHandler;
NTSTATUS DmaChannelsCpuAffinityHandler(
[in] PVOID ProviderContext,
[in] PNET_DMA_CHANNEL_CPU_AFFINITY CpuAffinityArray,
[in] ULONG CpuAffinityArraySize
)
{...}
パラメーター
[in] ProviderContext
DMA プロバイダーのコンテキスト領域を識別するポインター。 DMA プロバイダー ドライバーは、このポインターを NetDMA への呼び出しで渡しました。NetDmaRegisterProvider 関数を します。
[in] CpuAffinityArray
の配列へのポインター NET_DMA_CHANNEL_CPU_AFFINITY DMA プロバイダーに関連付けられている DMA チャネルの CPU アフィニティを指定する構造体です。
[in] CpuAffinityArraySize
CpuAffinityArray のバッファーの長さ (バイト単位)。
戻り値
ProviderSetDmaChannelCpuAffinity は、次のいずれかの状態値を返します。
リターン コード | 形容 |
---|---|
|
操作が正常に完了しました。 |
|
リソースが不足しているため、操作に失敗しました。 |
|
指定されていない理由で操作が失敗しました。 |
備考
NetDMA インターフェイスは、DMA プロバイダー ドライバーの ProviderSetDmaChannelCpuAffinity 関数を呼び出して、DMA プロバイダーの DMA チャネルの CPU アフィニティを指定します。 NetDMA は、のコンテキストで ProviderSetDmaChannelCpuAffinity を呼び出します。NetDmaRegisterProvider 関数を します。
DMA プロバイダーが開始される前に DMA チャネルの実際の数が不明であるため、NetDMA インターフェイスはチャネルの最大数の CPU アフィニティを指定します。 DMA プロバイダーは、MaxDmaChannelCount メンバー内のチャネルの最大数を提供します。 NET_DMA_PROVIDER_CHARACTERISTICSNetDmaRegisterProvider 関数に渡される構造体です。
MSI-X プラットフォームをサポートしていないコンピューターでは、割り込み DPC には CPU アフィニティを指定できますが、割り込みには指定できません。 この場合、NetDMA インターフェイスは、ProcessorAffinityMask メンバー内の割り込み DPC に使用できる CPU の一覧を指定します。 NET_DMA_CHANNEL_PARAMETERS 構造体。
MSI-X をサポートするコンピューターでは、DMA プロバイダー ドライバーは割り込みアフィニティを指定しながら、IRP を IRP_MN_FILTER_RESOURCE_REQUIREMENTS します。
NetDMA は、IRQL = PASSIVE_LEVEL で ProviderSetDmaChannelCpuAffinity 呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista の NetDMA 1.0 ドライバーでサポートされています。 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | netdma.h (Netdma.h を含む) |
IRQL | PASSIVE_LEVEL |
関連項目
IRP_MN_FILTER_RESOURCE_REQUIREMENTS NET_DMA_PROVIDER_CHARACTERISTICSNetDmaRegisterProvider の