estructura NET_DMA_CHANNEL_PARAMETERS (netdma.h)
Sintaxis
typedef struct _NET_DMA_CHANNEL_PARAMETERS {
USHORT Revision;
USHORT Size;
ULONG Flags;
PVOID CompletionVirtualAddress;
PHYSICAL_ADDRESS CompletionPhysicalAddress;
ULONG ProcessorAffinityMask;
ULONG ChannelPriority;
ULONG CpuNumber;
GROUP_AFFINITY ProcessorAffinityMaskEx;
} NET_DMA_CHANNEL_PARAMETERS, *PNET_DMA_CHANNEL_PARAMETERS;
Miembros
Revision
Número de revisión de esta estructura.
Para Windows 7 y Windows Server 2008 R2 y versiones posteriores, establezca este miembro en NET_DMA_CHANNEL_PARAMETERS_REVISION_2.
Para Windows Vista y Windows Server 2008, establezca este miembro en NET_DMA_CHANNEL_PARAMETERS_REVISION_1.
Size
Tamaño, en bytes, de esta estructura. Establezca este miembro en sizeof(NET_DMA_CHANNEL_PARAMETERS).
Flags
Conjunto de bits para marcas que definen atributos de canal DMA. Establezca este miembro en cero. Actualmente no hay marcas definidas.
CompletionVirtualAddress
Dirección virtual de la ubicación de memoria donde el motor DMA puede escribir el estado de finalización de la transferencia de DMA. Esta dirección virtual está asociada a la dirección física especificada en .
Miembro CompletionPhysicalAddress .
CompletionPhysicalAddress
Dirección física de la ubicación de memoria donde el motor DMA puede escribir el estado de finalización de transferencia de DMA. Si la marca NET_DMA_STATUS_UPDATE_ON_COMPLETION no está establecida en el miembro ControlFlags de la estructura NET_DMA_DESCRIPTOR , no se usa CompletionPhysicalAddress . De lo contrario, el valor de estado de finalización en la dirección especificada es una combinación de 64 bits de ancho de la dirección física del descriptor DMA más reciente que el motor DMA procesó y información de estado adicional.
La dirección física del descriptor DMA debe alinearse con los límites de 64 bits. Por lo tanto, los seis bits inferiores de la dirección están disponibles para otra información. El motor DMA combina los siguientes valores de estado con la dirección del descriptor mediante una operación OR bit a bit:
Valor | Significado |
---|---|
|
La transferencia DMA del descriptor DMA más reciente se completó sin errores y el motor DMA tiene más descriptores para procesar. |
|
Transferencia DMA para el último descriptor DMA de la lista vinculada de descriptores completados sin errores. |
|
La transferencia DMA para el descriptor DMA más reciente completada sin errores y las transferencias DMA se suspenden porque la interfaz NetDMA llamó a la función ProviderSuspendDma . El motor DMA reiniciará la transferencia después de que la interfaz NetDMA llame a la función ProviderResumeDma . |
|
La transferencia DMA para la transferencia DMA más reciente se anuló debido a errores o porque la interfaz NetDMA llamó a la función ProviderAbortDma . |
|
La transferencia DMA del primer descriptor no se ha completado y la dirección del descriptor completada no es válida. |
ProcessorAffinityMask
Mapa de bits que indica las CPU que están disponibles para su uso con este canal DMA. Cada bit de ProcessorAffinityMask identifica una CPU. Por ejemplo, si se establece el bit 0, indica que se puede usar la CPU 0, el valor del bit 1 indica que se puede usar la CPU 1, etc.
ChannelPriority
Valor de prioridad del canal DMA que representa la prioridad del canal DMA en relación con otros canales DMA en el mismo motor DMA. Una configuración de prioridad inferior indica un canal DMA de prioridad inferior. Si este valor indica una prioridad más alta que la que admite el hardware, se debe usar el valor más alto que admite el hardware. La interfaz NetDMA de Windows Vista establece este miembro en cero.
CpuNumber
Número de CPU asociado al canal DMA. El controlador del proveedor DMA establece el valor antes de que se devuelva del
Función ProviderAllocateDmaChannel . El motor DMA usa esta CPU para interrumpir los DPC asociados al canal DMA. Si el motor DMA y la configuración del equipo admiten MSI-X, la interrupción también debe asociarse con el número de CPU indicado, a menos que no haya ninguna interrupción MSI-X disponible para la CPU indicada.
ProcessorAffinityMaskEx
El número de grupo y un mapa de bits de las CPU con las que se podría asociar este canal DMA.
Comentarios
Antes de usar un canal DMA, la interfaz NetDMA llama a
ProviderAllocateDmaChannel función del controlador de proveedor DMA para asignar e inicializar el canal DMA.
La interfaz NetDMA proporciona una estructura de NET_DMA_CHANNEL_PARAMETERS en el parámetro ChannelParameters de ProviderAllocateDmaChannel.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Encabezado | netdma.h (incluya Netdma.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de