Compartir a través de


MINIPORT_DISABLE_MESSAGE_INTERRUPT función de devolución de llamada (ndis.h)

NDIS puede llamar a un controlador de miniporte miniportDisableMessageInterrupt controlador para deshabilitar una interrupción del mensaje con fines de diagnóstico y solución de problemas.

Nota Debe declarar la función mediante el tipo MINIPORT_DISABLE_MESSAGE_INTERRUPT. Para obtener más información, consulte la sección Ejemplos siguientes.
 

Sintaxis

MINIPORT_DISABLE_MESSAGE_INTERRUPT MiniportDisableMessageInterrupt;

void MiniportDisableMessageInterrupt(
  [in] NDIS_HANDLE MiniportInterruptContext,
  [in] ULONG MessageId
)
{...}

Parámetros

[in] MiniportInterruptContext

Identificador de un bloque de información de contexto. El controlador de minipuerto proporcionó este controlador en el parámetro MiniportInterruptContext que el controlador de miniporte pasó al función NdisMRegisterInterruptEx.

[in] MessageId

Una interrupción con señal de mensaje. 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.

Valor devuelto

Ninguno

Observaciones

Un controlador de miniport debe proporcionar una función MiniportDisableMessageInterrupt si el controlador llama a la función NdisMRegisterInterruptEx para registrar una interrupción.

Los controladores de miniport deben deshabilitar y habilitar una interrupción del mensaje, tal y como se explica en el miniportMessageInterrupt y páginas de referencia de MiniportMessageInterruptDpc.

NDIS llama a miniportEnableMessageInterrupt y funciones de miniportDisableMessageInterrupt para habilitar y deshabilitar interrupciones con fines de diagnóstico y solución de problemas. Normalmente, miniportEnableMessageInterrupt y MiniportDisableMessageInterrupt acceder a los recursos del controlador de miniport que comparten los función miniportMessageInterrupt. Por lo tanto, NDIS llama a estos controladores en DIRQL.

Ejemplos de

Para definir una función MiniportDisableMessageInterrupt, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un MiniportDisableMessageInterrupt función denominada "MyDisableMessageInterrupt", use el tipo MINIPORT_DISABLE_MESSAGE_INTERRUPT tal como se muestra en este ejemplo de código:

MINIPORT_DISABLE_MESSAGE_INTERRUPT MyDisableMessageInterrupt;

A continuación, implemente la función de la siguiente manera:

_Use_decl_annotations_
VOID
 MyDisableMessageInterrupt(
    NDIS_HANDLE  MiniportInterruptContext,
    ULONG  MessageId
    )
  {...}

El tipo de función MINIPORT_DISABLE_MESSAGE_INTERRUPT se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_DISABLE_MESSAGE_INTERRUPT en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.

Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Windows
encabezado de ndis.h (incluya Ndis.h)
irQL DIRQL (consulte la sección Comentarios)

Consulte también

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY miniportEnableMessageInterrupt

miniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS

NdisMRegisterInterruptEx