Enlace a un adaptador
NDIS llama a la función ProtocolBindAdapterEx de un controlador de protocolo para abrir un enlace siempre que un adaptador subyacente al que el controlador pueda enlazar esté disponible. Después de que NDIS llame a ProtocolBindAdapterEx, el enlace entra en el estado De apertura. En el estado Apertura , el controlador de protocolo asigna recursos para el enlace y abre el adaptador.
NDIS pasa a ProtocolBindAdapterEx el contexto NDIS para la operación de enlace, así como un puntero a una estructura de NDIS_BIND_PARAMETERS . Esta estructura contiene información sobre el adaptador, como:
Nombre del adaptador.
Ubicación del Registro para los parámetros específicos de este enlace en la entrada del servicio de protocolo en el Registro.
Objeto de dispositivo físico para el adaptador.
Para abrir un adaptador, los controladores de protocolo llaman a la función NdisOpenAdapterEx . El controlador de protocolo pasa lo siguiente a NdisOpenAdapterEx:
Identificador que NDIS devolvió al controlador en el parámetro NdisProtocolHandle de la función NdisRegisterProtocolDriver .
Contexto del controlador de protocolo para este enlace.
Puntero a una estructura de tipo NDIS_OPEN_PARAMETERS.
NDIS_OPEN_PARAMETERS contiene información como el nombre del adaptador que NdisOpenAdapterEx debe abrir, una matriz de tipos medianos que admite el controlador de protocolo y, opcionalmente, una matriz de tipos de marco que el controlador puede recibir en este enlace.
Si un controlador de protocolo devuelve NDIS_STATUS_PENDING de ProtocolBindAdapterEx, debe llamar a NdisCompleteBindAdapterEx con el estado final para completar la solicitud de enlace.
Si NDIS devuelve NDIS_STATUS_PENDING de NdisOpenAdapterEx, NDIS llama posteriormente a la función ProtocolOpenAdapterCompleteEx del controlador de protocolo con el estado final una vez completada la solicitud de apertura.
Después de que el controlador abra correctamente el enlace al adaptador, el enlace se encuentra en estado Pausado.
Un controlador de protocolo llama a la función NdisCloseAdapterEx para cerrar el adaptador. El controlador puede llamar a NdisCloseAdapterEx desde la función ProtocolBindAdapterEx o la función ProtocolUnbindAdapterEx .
Si después de abrir el adaptador y antes de completar la solicitud de enlace, ProtocolBindAdapterEx encuentra un error y debe cerrar el enlace al adaptador, puede llamar a NdisCloseAdapterEx. Para obtener más información sobre cómo cerrar un adaptador, vea Desenlace de un adaptador.