Compartir a través de


Función NdisMQueueDpc (ndis.h)

Los controladores de miniporte NDIS llaman a la función NdisMQueueDpc para programar llamadas DPC en CPU.

Sintaxis

ULONG NdisMQueueDpc(
  [in]           NDIS_HANDLE NdisInterruptHandle,
  [in]           ULONG       MessageId,
  [in]           ULONG       TargetProcessors,
  [in, optional] PVOID       MiniportDpcContext
);

Parámetros

[in] NdisInterruptHandle

Identificador de interrupción que el controlador de miniporte obtuvo en una llamada anterior a . función NdisMRegisterInterruptEx.

[in] MessageId

Un identificador de mensaje MSI para el DPC. Si el DPC es para una interrupción basada en líneas, este parámetro no se usa y debe establecerse en cero. De lo contrario, messageId es un índice del IO_INTERRUPT_MESSAGE_INFO_ENTRY estructuras dentro de estructura IO_INTERRUPT_MESSAGE_INFO. NDIS pasa un puntero a la estructura de IO_INTERRUPT_MESSAGE_INFO asociada en el miembro MessageInfoTable cuando el controlador se registra correctamente para MSI con la función NdisMRegisterInterruptEx.

[in] TargetProcessors

Mapa de bits que indica los procesadores de destino para los que NDIS debe programar un DPC. Cada bit de TargetProcessors identifica una CPU. Si el autor de la llamada establece el bit 0, NDIS programa un DPC para la CPU 0. Si el autor de la llamada establece el bit 1, NDIS programa un DPC para la CPU 1, etc.

[in, optional] MiniportDpcContext

Puntero a un área de contexto especificada por el autor de la llamada. NDIS pasa este puntero al parámetro MiniportDpcContext del MiniportInterruptDPC y funciones de miniportMessageInterruptDPC.

Valor devuelto

NdisMQueueDpc devuelve un mapa de bits que indica los procesadores de destino para los que NDIS programó correctamente un DPC. Cada bit del valor devuelto identifica una CPU. Si NDIS establece el bit 0, NDIS programó un DPC para la CPU 0. Si NDIS establece el bit 1, NDIS programó un DPC para la CPU 1, etc.

Si el controlador solicitó un DPC para una CPU y NDIS indica que no programó ese DPC, el DPC no estaba programado porque ya estaba programado un DPC para esa CPU.

Observaciones

Llamadas NDIS miniportInterruptDPC o MiniportMessageInterruptDPC para completar el procesamiento diferido de una interrupción. El controlador de miniport puede llamar a NdisMQueueDpc para solicitar llamadas DPC adicionales para otros procesadores.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y 6.1. Para NDIS 6.20 y versiones posteriores, use NdisMQueueDpcEx.
de la plataforma de destino de Universal
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL Cualquier nivel

Consulte también

miniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx