Compartilhar via


NdisOpenAdapter

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função configura uma ligação entre os protocolos chamado e um determinado subjacente driver NIC ou intermediário NDIS driver.

Syntax

            VOID
            NdisOpenAdapter(
            PNDIS_STATUS
            Status
            ,
            PNDIS_STATUS
            OpenErrorStatus
            ,
            PNDIS_HANDLE
            NdisBindingHandle
            ,
            PUINT
            SelectedMediumIndex
            ,
            PNDIS_MEDIUM
            MediumArray
            ,
            UINT
            MediumArraySize
            ,
            NDIS_HANDLE
            NdisProtocolHandle
            ,
            NDIS_HANDLE
            ProtocolBindingContext
            ,
            PNDIS_STRING
            AdapterName
            ,
            UINT
            OpenOptions
            ,
            PSTRING
            AddressingInformation
            );
        

Parameters

  • Status
    [out] Ponteiro para uma variável Caller-supplied que indica status.
  • OpenErrorStatus
    [out] Ponteiro para uma variável Caller-supplied que pode conter um NDIS_STATUS_XXX Erro ao fornecer mais informações se esta função retornará um erro em Status. De exemplo, o driver de um token ring NIC pode retornar um erro de anel nessa variável.
  • NdisBindingHandle
    [out] Ponteiro para uma variável Caller-supplied no qual NDIS retorna um identificador que representa um bem-sucedido ligação entre o chamador e o físico especificado ou NIC virtual especificado em NomeDoAdaptador.
  • SelectedMediumIndex
    [no] Ponteiro para uma variável Caller-supplied no qual NDIS retorna o índice do elemento de matriz que especifica o tipo de mídia que o subjacente usa driver NDIS.
  • MediumArray
    [no] Ponteiro para uma matriz de NDIS_MEDIUM - valores tipo especificando os tipos de mídia que suporta o chamador. Os elementos possíveis incluem qualquer subconjunto adequado do seguinte.

    Valor Descrição

    NdisMedium802_3

    Especifica uma rede Ethernet (802.3).

    NdisMedium802_5

    Especifica uma rede Token Ring (802.5).

    NdisMediumWan

    Especifica uma rede ampla área. Este tipo cobre vários formulários de ponto a ponto e rede de longa distância (WAN) placas de rede, bem como variante formatos de endereço e cabeçalho que devem ser negociados entre o driver protocolo e o subjacente driver depois que a ligação é estabelecida.

    NdisMediumDix

    Especifica uma rede Ethernet para o qual os drivers usam o formato cabeçalho DIX Ethernet.

    NdisMediumWirelessWan

    Especifica um sem fio rede. Este tipo aborda vários sem fio mídia que não inclua o sem fio de infravermelho tipos designados pelo NdisMediumIrda.

    NdisMediumIrda

    Esse valor é reservado para uso futuro.

  • MediumArraySize
    [no] Especifica o número de elementos no MediumArray.
  • ProtocolBindingContext
    [no] Identificador para uma área Caller-supplied contexto residente no qual o protocolo mantém informações do estado sobre esta ligação depois que ele tem sido estabelecido.
  • NomeDoAdaptador
    [no] Ponteiro para um seqüência de caracteres de contagem, especificado no sistema-conjunto de caracteres usar como padrão, nomeação a NIC ou o adaptador virtual de um subjacente que exporta um conjunto de upper-edge (driver NDISMiniportaXXX) funções.
  • OpenOptions
    [no] Especifica um máscara de bits que contém sinalizadores que o chamador passa para o driver Next-lower, pressupõe-se que um driver NIC. Atualmente, esse parâmetro é reservado para uso sistema.
  • AddressingInformation
    Não utilizados. Definir como NULL.

Return Value

A seguinte tabela mostra valores de retorno para esta função.

Valor Descrição

STATUS_SUCCESS

A ligação solicitada agora está configurada, portanto, o chamador pode utilizar os valores retornados em NdisBindingHandle e SelectedMediumIndex em chamadas subseqüentes para o NDISXXX funções.

NDIS_STATUS_PENDING

A operação solicitada está sendo manipulada de forma assíncrona e do o chamador ProtocolOpenAdapterComplete função será chamado quando o aberto for concluído.

NDIS_STATUS_RESOURCES

Falha de operação solicitada porque NDIS não pôde alocar memória suficiente ou inicializar o estado que ele usa para controlar um aberto ligação.

NDIS_STATUS_ADAPTER_NOT_FOUND

Falha de operação solicitada porque o nome no NomeDoAdaptador Não foi encontrado no sistema objeto NameSpace.

NDIS_STATUS_UNSUPPORTED_MEDIA

A matriz em MediumArray Foi não especificar qualquer mídia que está com suporte por NDIS o subjacente ou driver.

NDIS_STATUS_CLOSING

O chamador ou o físico ou dispositivo virtual designada no NomeDoAdaptador está sendo fechado.

NDIS_STATUS_OPEN_FAILED

O aberto tentativa falha para nenhum da acima motivos específicos. De exemplo, possivelmente, NDIS não conseguiu inicializar o pacote filtro para a mídia selecionada.

Remarks

Protocolo drivers chamar esta função de um Inicialização de drivers de protocolo NDIS funções ou de um ProtocolBindAdapter função. NDIS intermediário drivers normalmente tornar este chamar de um ProtocolBindAdapter função.

O seqüência de caracteres em NomeDoAdaptador válido permanecerá somente até que essa função retorna controle, Even if retornará NDIS_STATUS_PENDING em Status.

As variáveis no NdisBindingHandle e SelectedMediumIndex deve ser ignorado até que o ProtocolOpenAdapterComplete função é chamado se essa função retorna NDIS_STATUS_PENDING. Como essas variáveis podem permanecer inválido até ProtocolOpenAdapterComplete é chamado, eles não podem ser na pilha. Normalmente, essas variáveis residir na ProtocolBindingContext área porque esse identificador é um parâmetro de entrada para ProtocolOpenAdapterComplete.

Um driver protocolo deve manter o identificador retornado no NdisProtocolHandle. Outras funções NDIS que o driver chama posteriormente podem exigir esse parâmetro. O fornecido ProtocolBindingContext é um parâmetro de entrada para funções protocolo do chamador.

O chamador usa o valor retornado no SelectedMediumIndex em chamadas subseqüentes para o NdisRequest função. Identificadores de objeto que ela define no pacote de solicitação dependem de retornado NdisMediumXXX função. De exemplo, se NdisMediumWan é retornado no SelectedMediumIndex, as chamadas driver protocolo NdisRequest Especificando OID_WAN_MEDIUM_SUBTYPE Em uma consulta para determinar quais a rede de longa distância (WAN) mídia tipos que o subjacente usa driver.

Se uma consulta global emitida anteriormente de OID_NETWORK_TYPE de sem fio mídia indica que o driver e subjacente suporte NIC mais de uma NdisMediumWirelessWan-tipo médio, o protocolo deve selecionar um do com suporte mídia tão logo NDIS tiver configurado a ligação e antes de protocolo seleciona o formato cabeçalho.

Como outro exemplo, se NdisMedium802_3 é retornado, um driver protocolo pode determinar se o subjacente driver oferece suporte à prioridade pacote por chamado NdisRequest, especificando OID_802_3_MAC_OPTIONS Como uma consulta para verificar se o subjacente driver define os sinalizadores com NDIS_802_3_MAC_OPTION_PRIORITY. Se este sinalizador for definida quando a consulta está completo, o protocolo driver podem transmitir pressionada priorizados pacotes para o subjacente driver NIC com o NdisSendPackets função. Driver de protocolo pode esperar sua ProtocolReceivePacket função para get indicações de pacotes priorizados se o subjacente driver também oferece suporte a multipacket receber indicações.

Requirements

Header ndis.h
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

NdisCloseAdapter
NdisMIndicateReceivePacket
NdisRegisterProtocol
NdisRequest
NdisSendPackets
OID_802_3_MAC_OPTIONS
OID_WAN_MEDIUM_SUBTYPE
ProtocolOpenAdapterComplete
ProtocolBindAdapter
ProtocolReceivePacket

Concepts

Initialization of NDIS Protocol Drivers
Initialization of NDIS Protocol Drivers