Leer en inglés

Compartir a través de


estructura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES (ndis.h)

Un controlador de miniporte NDIS configura una estructura de NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES para definir atributos de registro asociados a un adaptador de minipuerto.

Sintaxis

typedef struct _NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES {
  NDIS_OBJECT_HEADER  Header;
  NDIS_HANDLE         MiniportAdapterContext;
  ULONG               AttributeFlags;
  UINT                CheckForHangTimeInSeconds;
  NDIS_INTERFACE_TYPE InterfaceType;
} NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, *PNDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES;

Miembros

Header

Tipo, revisión y tamaño de la estructura NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Este miembro tiene el formato de una estructura NDIS_OBJECT_HEADER.

El controlador de miniport debe establecer el miembro Type de Encabezado en NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES. Para especificar la versión de la estructura de NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES, el controlador debe establecer el miembro Revisión de de Encabezado en uno de los siguientes valores:

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2

Se agregaron marcas AttributeFlags para NDIS 6.30.

Establezca el miembro Size en NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_2.

NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1

Versión original de NDIS 6.0.

Establezca el miembro tamaño de en NDIS_SIZEOF_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES_REVISION_1.

MiniportAdapterContext

Identificador de un área de contexto que el controlador de miniporta asignó en su función MiniportInitializeEx. El controlador de miniporte usa este área de contexto para mantener la información de estado de un adaptador de miniporte.

AttributeFlags

Máscara de bits de marcas que se combinan con un OR bit a bit. Los controladores de miniport NDIS deben establecer una o varias de las marcas siguientes:

NDIS_MINIPORT_ATTRIBUTES_HARDWARE_DEVICE

Establezca si el controlador de miniporte controla directamente un dispositivo físico. Al dispositivo físico se le asignan recursos de hardware como interrupciones, puertos de E/S, E/S asignados a memoria o canales DMA que el controlador de miniporte debe reclamar desde el función miniportInitializeEx.

NDIS_MINIPORT_ATTRIBUTES_NDIS_WDM

Establezca si la interfaz de nivel inferior del adaptador de minipuerto es un controlador de bus WDM, como USB o IEEE 1394. En este caso, el controlador de miniporte no asigna recursos de hardware como puertos de E/S, interrupciones, E/S asignadas a memoria o canales DMA. En su lugar, el controlador se comunica con el dispositivo a través de la interfaz WDM del controlador de bus subyacente.

NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER

Establezca si la NIC del autor de la llamada es un dispositivo DMA maestro de bus.

NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND

Establezca si NDIS no debe llamar a la función miniportador de un controlador de miniporte antes de que el sistema pase a un estado de baja potencia (en suspensión). Los controladores que dependen del estado mantenido por hardware no deben establecer esta marca.

NDIS_MINIPORT_ATTRIBUTES_SURPRISE_REMOVE_OK

Establezca si el controlador de miniporte puede controlar la eliminación de su NIC sin notificación de usuario. Los controladores NDIS reciben notificaciones de eliminación sorpresa en el función MiniportDevicePnPEventNotify.

NDIS_MINIPORT_ATTRIBUTES_NOT_CO_NDIS

Se establece mediante un controlador de minipuerto que puede admitir dispositivos sin conexión y orientados a conexiones para indicar que el dispositivo es un dispositivo sin conexión.

NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO

Establecido por un controlador de miniporte coNDIS que no proporciona servicios TAPI. Establecer NDIS_MINIPORT_ATTRIBUTES_DO_NOT_BIND_TO_ALL_CO impide que NDIS enlace el controlador de miniporte al controlador proxy NDIS TAPI (NDPROXY). De forma predeterminada, NDIS enlaza NDPROXY a todos los controladores de miniporte de CoNDIS.

NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT

Se establece mediante un controlador de minipuerto que llama a la función NdisMNetPEvent para activar su puerto predeterminado. Si no se establece NDIS_MINIPORT_ATTRIBUTES_CONTROLS_DEFAULT_PORT, el puerto predeterminado está activo. NDIS no enlaza controladores de protocolo ni adjunta módulos de filtro a un adaptador de miniporte si su puerto predeterminado no está activo.

NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

A partir de NDIS 6.30, esta marca se establece si el controlador de miniporte puede pasar a un estado de baja potencia sin pausarse.

Para obtener más información sobre esta marca, vea la sección Comentarios.

NDIS_MINIPORT_ATTRIBUTES_NO_OID_INTERCEPT_ON_NONDEFAULT_PORTS

A partir de NDIS 6.30, esta marca se establece si el controlador de miniporta controla los OID en puertos no predeterminados que normalmente son interceptados y administrados por NDIS en su nombre. Esto no cambia el comportamiento de los OID destinados al puerto predeterminado.

NDIS_MINIPORT_ATTRIBUTES_REGISTER_BUGCHECK_CALLBACK

A partir de miniportes NDIS 6.30, NDIS no invocará el controlador MiniportShutdownEx de miniporte durante un BugCheck a menos que se establezca esta marca. La mayoría de los miniportes no deben establecer esta marca.

CheckForHangTimeInSeconds

Intervalo de tiempo de espera, en segundos, en el que NDIS debe llamar al función MiniportCheckForHangEx. Si un controlador de miniport no ha respondido a una solicitud de OID o una solicitud de envío dentro de dos llamadas sucesivas a MiniportCheckForHangEx, NDIS puede llamar a la función miniportResetEx.

El intervalo que usa NDIS al llamar a MiniportCheckForHangEx siempre es un múltiplo de 2 segundos. Por ejemplo, si especifica 5 segundos, el intervalo será de aproximadamente 4 segundos.

Si este miembro es 0, el intervalo de tiempo de espera predeterminado es de 2 segundos.

Nota El intervalo de tiempo de espera debe ser mayor que el tiempo de inicialización del controlador de miniport. Para obtener más información, vea Miniport Adapter Check-for-Hang and Reset Operations.
 

InterfaceType

El tipo de interfaz de bus de E/S del adaptador de miniport. Este suele ser el tipo de bus de E/S en el que está conectado el adaptador de miniporte. Los valores siguientes se admiten en NDIS 6.0:

NdisInterfaceInternal

Especifica una interfaz interna específica del host.

NdisInterfaceIsa

Especifica la interfaz ISA.

NdisInterfaceEisa

Especifica la interfaz extendida de ISA (EISA). Este tipo de interfaz no se admite en NDIS 6.0 ni en versiones posteriores.

NdisInterfaceMca

Hace referencia al bus MCA, que ya no se admite. Este tipo de interfaz no se admite en NDIS 6.0 ni en versiones posteriores.

NdisInterfaceTurboChannel

Especifica la interfaz Turbo Channel.

NdisInterfacePci

Especifica la interfaz de interconexión de componente periférico (PCI).

NdisInterfacePcMcia

Especifica la interfaz de la Asociación Internacional de tarjetas de memoria de equipo personal (PC Card).

NdisInterfaceCBus

Especifica el CBus.

NdisInterfaceMPIBus

Especifica el MPIBus.

NdisInterfaceMPSABus

Especifica mpSABus.

NdisInterfaceProcessorInternal

Especifica el bus interno del procesador.

NdisInterfaceInternalPowerBus

Especifica el bus de energía interno.

NdisInterfacePNPISABus

Especifica el PNPISABus.

NdisInterfacePNPBus

Especifica el PNPBus.

Este parámetro es irrelevante para los controladores intermedios, que deben especificar 0 para este miembro.

Observaciones

Un controlador de miniporte pasa un puntero a una estructura de NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES en el MiniportAttributes parámetro del función NdisMSetMiniportAttributes. Un controlador de miniport llama a NdisMSetMiniportAttributes desde su función MiniportInitializeEx durante la inicialización.

Los controladores de miniport deben establecer los atributos en NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES tan pronto como sea posible en MiniportInitializeEx. Establecer estos atributos es obligatorio.

Marca de NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND

NDIS emite una solicitud de OID de OID_PNP_SET_POWER al controlador de miniporte antes de que el adaptador de miniporte subyacente se cambie a un estado de baja potencia de D1, D2 o D3. Cuando el controlador controla este OID, debe preparar el adaptador de minipuerto para la transición al estado de menor potencia y no debe esperar a que se completen las indicaciones de paquetes de recepción pendientes.

En algunos casos, antes de que NDIS emite la solicitud OID de OID_PNP_SET_POWER al controlador de miniporte, NDIS llama a la función MiniportPause del controlador de miniporte, como se describe a continuación:

  • Si no se establece la marca NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND, NDIS llama a la función MiniportPause del controlador de miniporte antes de que se emita la solicitud OID de OID_PNP_SET_POWER al controlador. En el contexto de la llamada MiniportPause, el controlador debe esperar a que se completen las indicaciones de paquetes de recepción pendientes.
  • Si se establece la marca NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND, NDIS no llama a la función MiniportPause del controlador de miniporte antes de que se emita la solicitud OID de OID_PNP_SET_POWER al controlador. Cuando el controlador de miniporte controla la solicitud OID, no debe suponer que se había pausado previamente al preparar el adaptador de miniport para la transición a un estado de baja potencia.
    Nota La excepción a esto se produce cuando un protocolo o controlador de filtro que admite NDIS 6.20 o versiones anteriores de NDIS está enlazado o conectado al adaptador de miniport. En este caso, NDIS llama a la función MiniportPause del controlador de miniporte, independientemente de si el controlador de miniporte establece la marca NDIS_MINIPORT_ATTRIBUTES_NO_PAUSE_ON_SUSPEND.
     

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
encabezado de ndis.h (incluya Ndis.h)

Consulte también

de operaciones de comprobación de bloqueo y restablecimiento del adaptador de miniporte

MiniportCheckForHangEx

miniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

miniportpause

miniportResetEx

NDIS_OBJECT_HEADER

NdisMNetPnPEvent

NdisMSetMiniportAttributes

OID_PNP_SET_POWER