Compartilhar via


NdisMSetAttributesEx

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função informa a biblioteca NDIS sobre recursos significativos do NIC ou NIC virtual do chamador durante inicialização.

Syntax

VOID NdisMSetAttributesEx(
  NDIS_HANDLE MiniportAdapterHandle,
  NDIS_HANDLE MiniportAdapterContext,
  UINT CheckForHangTimeInSeconds,
  ULONG AttributeFlags,
  NDIS_INTERFACE_TYPE AdapterType
);

Parameters

  • MiniportAdapterContext
    [no] Identificador de uma área contexto residente alocada pelo MiniportInitialize.
  • CheckForHangTimeInSeconds
    [no] Especifica o intervalo, em segundos, no qual NDIS deve chamar o MiniportCheckForHang função, se houver algum. Especificar 0 para este parâmetro indica que NDIS deve chamar MiniportCheckForHang o intervalo Two-Second usar como padrão NDIS e que NDIS deve chamar o MiniportReset função no intervalo de tempo limite Four-Second usar como padrão para pendente envia e solicitações.

    Especificar um valor maior que 2 estende o Check-para-travar e intervalos tempo limite. NDIS usa duplo o intervalo Check-for-Hang especificado como seu intervalo tempo limite para o chamador.

  • AttributeFlags
    [no] Opcional. Especifica um máscara de bits que podem ser definida com um ou mais do seguinte sinalizadores.

    Valor Descrição

    NDIS_ATTRIBUTE_BUS_MASTER

    Definir se o chamador é NIC é um mestre barramento dispositivo acesso direto à memória (DMA).

    NDIS_ATTRIBUTE_DESERIALIZE

    Defina se o chamador é um driver de miniporta desserializado.

    NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT

    Defina se NDIS não deve tentar tempo limite pendente envia pacotes que ele mantém enfileirado para o chamador. Drivers intermediários devem definir esse sinalizador, mas drivers NIC não devem.

    NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT

    Defina se NDIS não deve tentar tempo limite pendente consulta e solicitações conjunto que ele mantém enfileirado para o chamador. Drivers intermediários devem definir esse sinalizador, mas drivers NIC não devem.

    NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER

    Definir se o chamador é um intermediário driver.

    NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS

    Defina se deve NDIS não chamar um token anel do driver NIC MiniportReset função se token Ring erros são indicados.

    NDIS_ATTRIBUTE_ALWAYS_GIVES_RX_PACKET_OWNERSHIP

    Defina esta opção para informar ao NDIS que NDIS_STATUS_RESOURCES não são indicados.

  • AdapterType
    [no] Especifica o tipo interface barramento E/S do do chamador NIC, que geralmente é o tipo de barramento E/S no qual o NIC é conectado, como um do seguinte.

    Valor Descrição

    NdisInterfaceInternal

    Especifica uma interface interna host-specific.

    NdisInterfaceIsa

    Especifica a interface ISA.

    NdisInterfacePci

    Especifica a interface Peripheral Component Interconnect (PCI).

    NdisInterfacePCMcia

    Especifica a interface Personal Computer Memory Card International Association (PCMCIA).

    Este parâmetro é irrelevante para intermediário drivers, que devem transmitir 0 para este parâmetro para essa função.

Return Value

Nenhum.

Remarks

MiniportInitialize deve chamar NdisMSetAttributesEx Ou NdisMSetAttributes Antes chamado qualquer outro NdisMRegisterXXX Ou NDISXXXfunção que depende de informações fornecidas para esta função.

Drivers intermediários devem chamar NdisMSetAttributesEx Em vez de NdisMSetAttributes, e eles devem definir a NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER in a AttributeFlags. Definir esse sinalizador faz com que NDIS para tratar um intermediário driver como uma miniporta full-duplex, que impede que bloqueios raros mas intermitentes ocorrendo no intermediário driver. Conseqüentemente, cada intermediário driver deve ser capaz de manipulação simultâneo envia e indicações.

Drivers NIC podem chamar um dessas funções de MiniportInitialize, mas NdisMSetAttributes Não permite que o chamador para ajustar o intervalo no qual do um driver NIC MiniportCheckForHang função e / ou MiniportReset função são chamado.

O valor de CheckForHangTimeInSeconds Determina intervalo de tempo limite da biblioteca de NDIS em envia e solicita que ele mantém enfileirado para o chamador. Por padrão, NDIS expira enfileirado envia e solicitações em duas vezes o intervalo Check-for-Hang. A menos que o driver define AttributeFlags Com NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT e NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT quando ele chama NdisMSetAttributesExNDIS, chama o MiniportReset função após esses tempos-limite. Drivers intermediários devem definir esses sinalizadores quando chamado essa função porque tal um driver não é possível determinar ou controle quando o subjacente driver de dispositivo processa solicitações e envia.

Drivers NIC não devem definir os sinalizadores NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT e NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT. No entanto, os drivers NIC podem ajustar o intervalo tempo limite no qual seus MiniportReset funções são chamado especificando um explícita CheckForHangTimeInSeconds. De exemplo, um driver NIC que emula Ethernet sobre um modem pode não completo cada pacote dentro de intervalo tempo limite usar como padrão da biblioteca de NDIS. Quando um pacote aparece ao tempo limite em tal um NIC, NDIS pressupõe que a NIC não está funcionando corretamente e chamadas do driver MiniportReset função. Neste maiúsculas e minúsculas, chamado NdisMSetAttributesEx Com um CheckForHangTimeInSeconds definido como algo maior do que dois impede que redefine desnecessários e estende o intervalo no qual seu MiniportCheckForHang função, se houver, será chamado para testar o estado operacional do NIC.

Em geral, um driver NIC deve chamar NdisMSetAttributesEx antes de ele chama qualquer NDISXXX função que alega recursos hardware o Registro para seu NIC, pois NDIS deve ter o AttributeFlags valor antes tal um chamar é feita e porque o driver geralmente precisa de memória em MiniportAdapterContext Para armazenar informações para essas chamadas. Essa restrição implica que do um driver NIC MiniportInitialize função não é possível chamar a seguinte NDISXXX funções antes ele chama NdisMSetAttributesEx:

No entanto, antes chamado NdisMSetAttributesEx, de qualquer driver MiniportInitialize função pode chamar as funções configuração NDIS para recuperar informações configuração instaladas no Registro. MiniportInitialize Também pode chamar o barramento - tipo - específico NdisReadXXX funções, como NdisReadPciSlotInformation, desde que a entrada Registro instalado para interface tipo do driver corresponde a específicas barramento - tipo - NdisReadXXX MiniportInitialize Chamadas.

O MiniportAdapterContext identificador fornecido para NdisMSetAttributesEx se torna um parâmetro de entrada para todos MiniportaXXX funções que foram registradas, além com MiniportInitialize, na chamar para NdisMRegisterMiniport Ou NdisIMRegisterLayeredMiniport. Normalmente, este identificador é um ponteiro para residente na memória alocada por MiniportInitialize, no qual o driver mantém executar NIC-specific-estado tempo.

Requirements

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

See Also

Reference

MiniportCheckForHang
MiniportInitialize
MiniportReset
NdisIMRegisterLayeredMiniport
NdisMAllocateSharedMemory
NdisMMapIoSpace
NdisMPciAssignResources
NdisMRegisterInterrupt
NdisMRegisterIoPortRange
NdisMRegisterMiniport
NdisMSetAttributes
NdisReadPciSlotInformation
NdisOpenConfiguration