Share via


Função NdisOpenAdapterEx (ndis.h)

Um driver de protocolo chama a função NdisOpenAdapterEx de sua função ProtocolBindAdapterEx para configurar uma associação entre o driver de protocolo e um driver subjacente.

Sintaxe

NDIS_STATUS NdisOpenAdapterEx(
  [in]  NDIS_HANDLE           NdisProtocolHandle,
  [in]  NDIS_HANDLE           ProtocolBindingContext,
  [in]  PNDIS_OPEN_PARAMETERS OpenParameters,
  [in]  NDIS_HANDLE           BindContext,
  [out] PNDIS_HANDLE          NdisBindingHandle
);

Parâmetros

[in] NdisProtocolHandle

O identificador retornado pelo Função NdisRegisterProtocolDriver .

[in] ProtocolBindingContext

O identificador de uma área de contexto fornecida pelo chamador na qual o driver de protocolo mantém informações de estado para essa associação.

[in] OpenParameters

Um ponteiro para uma estrutura NDIS_OPEN_PARAMETERS configurada pelo chamador.

[in] BindContext

O identificador que identifica a área de contexto do NDIS para a operação de associação. O NDIS passou esse identificador para o parâmetro BindContext da função ProtocolBindAdapterEx .

[out] NdisBindingHandle

Um ponteiro para uma variável fornecida pelo chamador. O NDIS grava um identificador em NdisBindingHandle que identifica a associação entre o chamador e o adaptador de miniporto especificado no membro AdapterName em OpenParameters . O chamador usa esse identificador em chamadas subsequentes para funções NdisXxx .

Retornar valor

NdisOpenAdapterEx retorna um dos seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
NdisOpenAdapterEx concluiu com êxito a operação aberta.
NDIS_STATUS_PENDING
NdisOpenAdapterEx não concluiu a operação aberta. Posteriormente, o NDIS chama o driver de protocolo Função ProtocolOpenAdapterCompleteEx para concluir a operação aberta.
NDIS_STATUS_RESOURCES
O NdisOpenAdapterEx falhou devido a recursos insuficientes.
NDIS_STATUS_ADAPTER_NOT_FOUND
NdisOpenAdapterEx falhou porque não foi possível encontrar um adaptador de miniporto especificado no membro AdapterName em OpenParameters .
NDIS_STATUS_UNSUPPORTED_MEDIA
NdisOpenAdapterEx falhou porque a matriz especificada no membro MediumArray no OpenParameters não incluiu um tipo médio compatível com o NDIS ou o driver subjacente.
NDIS_STATUS_FAILURE
NdisOpenAdapterEx falhou por motivos diferentes daqueles da lista anterior.

Comentários

Um driver de protocolo deve chamar NdisOpenAdapterEx de sua função ProtocolBindAdapterEx . O NDIS falha em qualquer tentativa de chamar NdisOpenAdapterEx fora do contexto de ProtocolBindAdapterEx.

Se NdisOpenAdapterEx retornar NDIS_STATUS_PENDING, o chamador não deverá usar os valores em NdisBindingHandle e o membro SelectedMediumIndex no OpenParameters até que o NDIS chame o Função ProtocolOpenAdapterCompleteEx .

A cadeia de caracteres em AdapterName deve permanecer válida somente até que NdisOpenAdapterEx retorne. Portanto, no caso de NdisOpenAdapterEx retornar NDIS_STATUS_PENDING, o driver não precisará continuar a manter essa cadeia de caracteres após o retorno de NdisOpenAdapterEx .

Depois que a operação aberta for concluída com êxito, o chamador poderá usar o valor que o NDIS retornou no NdisBindingHandle em chamadas subsequentes para funções NdisXxx . O chamador pode usar o membro SelectedMediumIndex do parâmetro OpenParameters para determinar como ele deve interagir com o driver subjacente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI Irql_Protocol_Driver_Function(ndis)

Confira também

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx