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 |
---|---|
|
NdisOpenAdapterEx concluiu com êxito a operação aberta. |
|
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. |
|
NdisOpenAdapterEx falharam devido a recursos insuficientes. |
|
falha no NdisOpenAdapterEx porque não foi possível encontrar um adaptador de miniporto especificado no membro AdapterName no OpenParameters. |
|
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. |
|
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) |