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 |
---|---|
|
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. |
|
O NdisOpenAdapterEx falhou devido a recursos insuficientes. |
|
NdisOpenAdapterEx falhou porque não foi possível encontrar um adaptador de miniporto especificado no membro AdapterName em OpenParameters . |
|
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. |
|
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) |