Compartir a través de


Función NdisMSynchronizeWithInterruptEx (ndis.h)

Los controladores de miniport llaman a la función NdisMSynchronizeWithInterruptEx para sincronizar la ejecución de una función proporcionada por el controlador de miniport con la función MiniportInterrupt.

Sintaxis

BOOLEAN NdisMSynchronizeWithInterruptEx(
  [in] NDIS_HANDLE                            NdisInterruptHandle,
  [in] ULONG                                  MessageId,
  [in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
  [in] PVOID                                  SynchronizeFunction,
  [in] PVOID                                  SynchronizeContext
);

Parámetros

[in] NdisInterruptHandle

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

[in] MessageId

Una interrupción señalada por mensaje con la que el controlador debe sincronizarse. Si NDIS no conceda interrupciones señaladas de mensaje para el controlador, NDIS omite este parámetro. MessageId es un índice de 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] SynchronizeFunction

Punto de entrada del controlador función MiniportSynchronizeInterrupt.

[in] SynchronizeFunction

Punto de entrada del controlador función MiniportSynchronizeInterrupt.

[in] SynchronizeContext

Puntero a un área de contexto determinada por el controlador de miniport que se pasa a la función MiniportSynchronizeInterrupt en SynchronizeContext .

Valor devuelto

NdisMSynchronizeWithInterruptEx devuelve el valor booleano que miniportSynchronizeInterrupt devuelve.

Observaciones

Los controladores de miniport que registran una interrupción con NdisMRegisterInterruptEx usan NdisMSynchronizeWithInterruptEx. Valor que el objeto función MiniportSynchronizeInterrupt también devuelve NdisMSynchronizeWithInterruptEx. Este valor propagado proporciona el estado al autor de la llamada.

Cualquier función del controlador de miniportar que comparta recursos con cualquier otra función de controlador que se ejecute en DIRQL debe usar NdisMSynchronizeWithInterruptEx para sincronizar su acceso a esos recursos. La función MiniportSynchronizeInterrupt también se ejecuta en DIRQL y los recursos compartidos están protegidos por un bloqueo de número asignado por el sistema. Por lo tanto, los recursos compartidos están protegidos contra el acceso simultáneo por la función MiniportInterrupt y el autor de la llamada.

NdisMSynchronizeWithInterruptEx libera el bloqueo de número del sistema y restaura el IRQL original de su llamador antes de devolver el control.

Para obtener más información sobre cómo adquirir y liberar bloqueos de giro de NDIS, consulte sincronización y notificación en controladores de red.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Universal
encabezado de ndis.h (incluye Ndis.h, Video.h)
biblioteca de Ndis.lib
irQL <= DIRQL
reglas de cumplimiento de DDI NdisMDeregisterInterruptEx(ndis)

Consulte también

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY

MiniportInterrupt

MiniportSynchronizeInterrupt

NdisMRegisterInterruptEx