Compartir a través de


Función NdisClOpenAddressFamilyEx (ndis.h)

La función NdisClOpenAddressFamilyEx registra una familia de direcciones (AF) asociada a un administrador de llamadas para un cliente orientado a la conexión.

Sintaxis

NDIS_STATUS NdisClOpenAddressFamilyEx(
  [in]  NDIS_HANDLE        NdisBindingHandle,
  [in]  PCO_ADDRESS_FAMILY AddressFamily,
  [in]  NDIS_HANDLE        ClientAfContext,
  [out] PNDIS_HANDLE       NdisAfHandle
);

Parámetros

[in] NdisBindingHandle

Identificador al que devuelve NdisOpenAdapterEx y que identifica la tarjeta de interfaz de red (NIC) de destino o el adaptador virtual del controlador inferior al que está enlazado el autor de la llamada.

[in] AddressFamily

Puntero a una estructura de CO_ADDRESS_FAMILY que describe el administrador de llamadas y af que se va a abrir.

Este puntero es un parámetro de entrada para el cliente. Función ProtocolCoAfRegisterNotify , que llama a NdisClOpenAddressFamilyEx.

[in] ClientAfContext

Identificador de un área de contexto residente proporcionada por el autor de la llamada en la que el cliente mantiene el estado de este AF después de que se haya abierto el AF. NDIS devuelve este identificador al cliente en todas las llamadas posteriores relativas a este AF si la llamada a NdisClOpenAddressFamilyEx se realiza correctamente.

[out] NdisAfHandle

Puntero a una variable proporcionada por el autor de la llamada en la que NdisClOpenAddressFamilyEx devuelve un identificador que representa la familia de direcciones recién abierta.

Valor devuelto

Cuando NdisClOpenAddressFamilyEx devuelve algo distinto de NDIS_STATUS_PENDING, el cliente debe realizar una llamada interna a su Función ProtocolClOpenAfCompleteEx . De lo contrario, NDIS llama a la función ProtocolClOpenAfCompleteEx del cliente cuando se completa esta operación.

Comentarios

Un cliente de CoNDIS llama a NdisClOpenAddressFamilyEx desde su La función ProtocolCoAfRegisterNotify , después de que el cliente compruebe el búfer de entrada al que apunta el parámetro AddressFamily para determinar si el cliente reconoce el administrador de llamadas y las direcciones registradas. NDIS reenvía la llamada del cliente de NdisClOpenAddressFamilyEx a la función ProtocolCmOpenAf del administrador de llamadas, lo que garantiza que el cliente haya pasado una estructura de AF válida.

Una llamada correcta a NdisClOpenAddressFamilyEx configura la comunicación desde el cliente a un administrador de llamadas. Después, el cliente puede prepararse para recibir llamadas entrantes mediante una llamada a la función NdisClRegisterSap . El cliente también puede configurar una conexión virtual (VC) llamando a la función NdisCoCreateVc para que pueda realizar una llamada saliente llamando a la función NdisClMakeCall .

Si se produce un error en la llamada del cliente a NdisClOpenAddressFamilyEx , el cliente debe llamar a la función NdisUnbindAdapter para solicitar a NDIS que libere su enlace al adaptador de miniport subyacente. De lo contrario, el cliente debe guardar el identificador que se devuelve en el parámetro NdisAfHandle . Este identificador identifica al administrador de llamadas al que se dirigen las solicitudes posteriores relativas a la familia de direcciones especificadas. El cliente debe tratar este identificador devuelto como una variable opaca, pasándolo sin modificar y sin interpretar en llamadas de función NdisXxx posteriores.

NDIS pasa el puntero del parámetro ClientAfContext a las funciones ProtocolClXxx registradas del cliente en todas las llamadas posteriores que afectan al AF hasta que el cliente llama a NdisClCloseAddressFamily con el mismo NdisAfHandle . Una vez cerrado el AF, el cliente puede liberar o reutilizar el almacenamiento que asignó en ClientAfContext .

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI Irql_Protocol_Driver_Function(ndis)

Consulte también

CO_ADDRESS_FAMILY

NdisAllocateFromNPagedLookasideList

NdisClCloseAddressFamily

NdisClMakeCall

NdisClRegisterSap

NdisCoCreateVc

NdisOpenAdapterEx

NdisUnbindAdapter

ProtocolClOpenAfCompleteEx

ProtocolCmOpenAf

ProtocolCoAfRegisterNotify