Partilhar 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 no NdisBindingHandle que identifica a associação entre o chamador e o adaptador de miniporto especificado no membro AdapterName no OpenParameters . O chamador usa esse identificador em chamadas subsequentes para funções Ndisxxx.

Valor de retorno

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
NdisOpenAdapterEx falharam devido a recursos insuficientes.
NDIS_STATUS_ADAPTER_NOT_FOUND
falha no NdisOpenAdapterEx porque não foi possível encontrar um adaptador de miniporto especificado no membro AdapterName no OpenParameters.
NDIS_STATUS_UNSUPPORTED_MEDIA
NdisOpenAdapterEx falhou porque a matriz especificada no membro MediumArray no OpenParameters não incluía um tipo médio compatível com o NDIS ou o driver subjacente.
NDIS_STATUS_FAILURE
NdisOpenAdapterEx falharam por motivos diferentes daqueles da lista anterior.

Observações

Um driver de protocolo deve chamar NdisOpenAdapterEx de sua função de 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 NDIS 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 será obrigado a continuar a manter essa cadeia de caracteres depois que NdisOpenAdapterEx retornar.

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
da 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)

Consulte também

NDIS_OPEN_PARAMETERS

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx