Función NdisMRegisterInterruptEx (ndis.h)
Los controladores de miniporte NDIS llaman a la función NdisMRegisterInterruptEx para registrar una interrupción.
Sintaxis
NDIS_STATUS NdisMRegisterInterruptEx(
[in] NDIS_HANDLE MiniportAdapterHandle,
[in] NDIS_HANDLE MiniportInterruptContext,
[in] PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS MiniportInterruptCharacteristics,
[out] PNDIS_HANDLE NdisInterruptHandle
);
Parámetros
[in] MiniportAdapterHandle
Identificador del adaptador de minipuerto que NDIS pasó al Función MiniportInitializeEx .
[in] MiniportInterruptContext
Puntero a un bloque de información de contexto. El controlador de minipuerto asigna esta memoria para almacenar información sobre la interrupción. NDIS pasa el bloque de información de contexto en llamadas posteriores a otras funciones asociadas a la interrupción.
[in] MiniportInterruptCharacteristics
Puntero a un NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS estructura que creó el controlador de minipuerto. El controlador inicializa esta estructura con puntos de entrada del controlador y parámetros de configuración que definen las características de interrupción.
[out] NdisInterruptHandle
Puntero a un identificador NDIS. NDIS escribe el identificador del objeto de interrupción recién creado en la dirección que especifica el puntero NdisInterruptHandle .
Valor devuelto
NdisMRegisterInterruptEx puede devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
NDIS inicializó el objeto de interrupción y proporcionó un identificador de interrupción válido en NdisInterruptHandle . NDIS reclamaba recursos de hardware y configuraba las funciones a las que llama cuando se produce una interrupción. |
|
Error de NdisMRegisterInterruptEx debido a recursos insuficientes. |
|
Error al intentar inicializar el objeto de interrupción por motivos distintos de los de la lista anterior. |
Comentarios
Un controlador de miniport debe llamar a NdisMRegisterInterruptEx desde su función MiniportInitializeEx si administra una NIC que genera interrupciones.
MiniportInitializeEx debe llamar a Función NdisMSetMiniportAttributes antes de llamar a NdisMRegisterInterruptEx.
El controlador de minipuerto debe especificar puntos de entrada para las siguientes funciones de servicio de interrupción:
MiniportDisableInterruptExSi la NIC admite interrupciones señaladas por mensajes (MSI), el controlador de miniporte debe especificar puntos de entrada para las siguientes funciones de servicio MSI:
MiniportMessageInterruptDPC MiniportDisableMessageInterrupt MiniportEnableMessageInterruptSi un controlador especifica puntos de entrada para MSI, también debe especificar puntos de entrada para las funciones de servicio de interrupción que no sean MSI. Además, si NdisMRegisterInterruptEx devuelve NDIS_STATUS_SUCCESS, el controlador debe examinar el valor del miembro InterruptType del NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS estructura para determinar el tipo de interrupciones concedidas por NDIS. Si NDIS no puede conceder compatibilidad con MSI, concederá compatibilidad con interrupciones basadas en líneas.
Cuando se habilitan interrupciones en la NIC, se puede llamar a la función MiniportInterrupt(o MiniportMessageInterrupt) de un controlador en cualquier momento después de que el controlador llame a NdisMRegisterInterruptEx, incluso antes de que se devuelva NdisMRegisterInterruptEx . Por lo tanto, un controlador no debe llamar a NdisMRegisterInterruptEx hasta que esté listo para controlar una interrupción.
Los controladores llaman a Función NdisMDeregisterInterruptEx para liberar recursos asignados anteriormente con NdisMRegisterInterruptEx.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | Init_DeRegisterInterrupt(ndis), Init_RegisterInterrupt(ndis), Irql_Interrupt_Function(ndis), NdisMDeregisterInterruptEx(ndis) |
Consulte también
MiniportDisableMessageInterrupt MiniportEnableMessageInterrupt NDIS_MINIPORT_INTERRUPT_CHARACTERISTICSComentarios
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