Compartilhar via


OID_WAN_CO_GET_INFO

O OID_WAN_CO_GET_INFO OID solicita que o driver de miniporte retorne informações que se aplicam a todas as VCs (conexões virtuais) em sua NIC. Essas informações são retornadas em uma estrutura NDIS_WAN_CO_INFO, definida da seguinte maneira.

    typedef struct _NDIS_WAN_CO_INFO {
         OUT ULONG MaxFrameSize;
         OUT ULONG MaxSendWindow;
         OUT ULONG FramingBits;
         OUT ULONG DesiredACCM;
    } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;

Os membros dessa estrutura contêm as seguintes informações:

MaxFrameSize
Especifica o tamanho máximo do quadro para qualquer pacote líquido que o driver de miniporte pode enviar e receber. Esse valor deve excluir a sobrecarga de enquadramento do próprio driver de miniport e/ou a sobrecarga do HDLC do PPP. Normalmente, esse valor é em torno de 1500.

No entanto, todos os drivers de miniporto da WAN do CoNDIS devem usar um MaxFrameSize interno que seja 32 bytes maior que o valor retornado para essa OID. Por exemplo, um driver de miniporto de WAN do CoNDIS que retorna 1500 para essa OID deve aceitar e enviar internamente até 1532. Esse driver de miniporte pode prontamente dar suporte a pontes futuras e protocolos adicionais.

MaxSendWindow
Especifica o número máximo de pacotes pendentes que o driver de miniporto wan condis pode manipular em uma VC. Esse membro deve ser definido como pelo menos um.

O driver NDISWAN usa o valor desse membro como um limite de quantos pacotes ele envia em solicitações de envio para a função MiniportCoSendPackets do driver de miniport antes que o NDISWAN retenha pacotes de envio. Esses pacotes são enfileirados até que o driver de miniporte conclua um envio pendente. Um driver de miniporte pode ajustar esse valor dinamicamente e por VC usando o membro SendWindow na estrutura WAN_CO_LINKPARAMS que o driver de miniporto passa para NdisMCoIndicateStatus. O NDISWAN usa o valor sendWindow atual como seu limite em envios pendentes. Se o driver de miniporto definir SendWindow como zero, o NDISWAN deverá parar de enviar pacotes para a VC específica. Ou seja, o driver de miniporto especifica que a janela de envio está desligada, o que, na verdade, especifica que ela não pode aceitar nenhum pacote do NDISWAN.

Como um driver de miniporto da WAN do CoNDIS deve enfileirar pacotes internamente, o valor de MaxSendWindow é teoricamente max( ULONG). No entanto, esse valor determinado pelo driver deve refletir a velocidade do link ou os recursos de hardware da NIC. Por exemplo, se a NIC de um driver de miniporto sempre tiver espaço para pelo menos quatro pacotes, o driver de miniporto definirá MaxSendWindow como quatro para que qualquer pacote de entrada para MiniportCoSendPackets possa ser colocado no hardware imediatamente.

FramingBits
Um valor de 32 bits que especifica uma máscara de bits especificando os tipos de enquadramento aos quais o driver de miniporto dá suporte. O driver de miniporte pode especificar uma combinação dos seguintes valores, usando o operador OR binário:

RAS_FRAMING
Defina somente se o driver de miniporte puder detectar enquadramento ras mais antigo. Somente os drivers herdados que suportavam o enquadramento ras anterior definem esse sinalizador.

RAS_COMPRESSION
Definido somente se o driver de miniporto der suporte ao esquema de compactação RAS mais antigo.

PPP_FRAMING
Deve ser sempre definido. Indica que o driver de miniporto pode detectar e dar suporte ao enquadramento de PPP para seu tipo médio.

PPP_COMPRESS_ADDRESS_CONTROL
Defina se o driver de miniporto dá suporte à compactação de campo de controle e endereço PPP.

O NDISWAN removerá o campo de endereço e controle se essa opção LCP for negociada. Alguns tipos médios de WAN, como X.25, não dão suporte a essa opção.

PPP_COMPRESS_PROTOCOL_FIELD
Defina se o driver de miniporto dá suporte à compactação de campo de protocolo PPP.

O NDISWAN removerá um byte do campo de protocolo quando aplicável se essa opção LCP for negociada.

PPP_ACCM_SUPPORTED
Defina se o driver de miniporto dá suporte ao mapeamento de caracteres de controle assíncrono. Esse bit só é válido para mídia assíncrona, como modems. Se esse bit for definido, o membro DesiredACCM deverá ser válido.

PPP_MULTILINK_FRAMING
Defina se o driver de miniporte dá suporte ao enquadramento de vários vínculos, conforme especificado no IETF RFC 1717.

PPP_SHORT_SEQUENCE_HDR_FORMAT
Defina se o driver de miniporto dá suporte ao formato de cabeçalho para enquadramento de vários vínculos, conforme especificado no IETF RFC 1717.

SLIP_FRAMING
Defina se o driver de miniporto puder detectar e dar suporte ao enquadramento de SLIP (somente drivers de miniportos assíncronos).

SLIP_VJ_COMPRESSION
Defina se o driver de miniporte pode dar suporte à compactação de cabeçalho TCP/IP van Jacobsen para SLIP. O NDISWAN dá suporte a SLIP_VJ_COMPRESSION (com 16 slots). A mídia assíncrona (drivers de miniporto serial) que dão suporte ao enquadramento de SLIP deve definir esse bit.

A mídia assíncrona não precisa escrever nenhum código para dar suporte à compactação de cabeçalho VJ. NDISWAN cuidará disso.

SLIP_VJ_AUTODETECT
Defina se o driver de miniporte pode detectar automaticamente a compactação de cabeçalho TCP/IP de Van Jacobsen para SLIP. O NDISWAN detectará automaticamente a compactação de cabeçalho VJ. A mídia assíncrona (drivers de miniporto serial) deve definir esse bit se oferecer suporte ao enquadramento de SLIP.

TAPI_PROVIDER
Defina se o driver de miniportar dá suporte aos OIDs do Provedor de Serviços TAPI. A menos que esse bit esteja definido, as chamadas OID tapi não serão feitas para o driver de miniporto.

MEDIA_NRZ_ENCODING
Defina se o driver de miniporto der suporte à codificação NRZ, o padrão PPP para alguns tipos de mídia, como ISDN. Este valor está reservado para uso futuro.

MEDIA_NRZI_ENCODING
Defina se o driver de miniporto dá suporte à codificação NRZI. Este valor está reservado para uso futuro.

MEDIA_NLPID
Defina se o driver de miniporte tem e pode definir o NLPID em seu quadro. Este valor está reservado para uso futuro.

RFC_1356_FRAMING
Defina se o driver de miniporto dá suporte ao enquadramento do IETF RFC 1356 X.25 e ISDN. Este valor está reservado para uso futuro.

RFC_1483_FRAMING
Defina se o driver de miniporto dá suporte ao encapsulamento de adaptação do ATM IETF RFC 1483 camada 5. Este valor está reservado para uso futuro.

RFC_1490_FRAMING
Defina se o driver de miniporto dá suporte ao enquadramento do IETF RFC 1490 Frame Relay. Este valor está reservado para uso futuro.

NBF_PRESERVE_MAC_ADDRESS
Defina se o driver de miniporto dá suporte ao enquadramento IETF conforme especificado no rascunho "O Protocolo de Controle de Quadros NETBIOS do PPP (NBFCP)."

SHIVA_FRAMING
Substituído por NBF_PRESERVE_MAC_ADDRESS.

PASS_THROUGH_MODE
Defina se o driver de miniporte fizer seu próprio enquadramento. Se esse sinalizador estiver definido, NDISWAN passará quadros, não interpretados e não modificados.

Os drivers de miniporto devem estar no modo de enquadramento PPP padrão até que cada driver de miniporto receba uma solicitação de OID_WAN_CO_SET_LINK_INFO . O driver de miniporte deve detectar automaticamente qualquer enquadramento que ele afirma dar suporte.

Por exemplo, os drivers de miniport que dão suporte ao enquadramento ras antigo devem detectar automaticamente o enquadramento ras do enquadramento do PPP. Se um driver de miniporto detectar um esquema de enquadramento diferente do padrão, esse driver de miniporte deverá alternar automaticamente seu enquadramento para o enquadramento detectado recentemente.

Uma consulta subsequente com OID_WAN_CO_GET_LINK_INFO deve indicar o enquadramento detectado. Se nenhum enquadramento ainda for detectado, o FramingBits deverá ser zero nas informações de NDIS_WAN_CO_GET_LINK_INFO retornadas.

Se o driver de miniporto WAN for chamado posteriormente com OID_WAN_CO_SET_LINK_INFO em que o membro FramingBits é zero, o driver de miniporto deverá tentar detectar automaticamente o enquadramento após a recepção de cada quadro.

DesiredACCM
O Mapa de Caracteres de Controle Assíncrono é negociado. Esse membro é relevante apenas para tipos de mídia assíncronos.

Requisitos

Versão

Com suporte para drivers NDIS 6.0 e NDIS 5.1 no Windows Vista. Com suporte para drivers NDIS 5.1 no Windows XP.

Cabeçalho

Ntddndis.h (inclua Ndis.h)

Confira também

NdisMCoIndicateStatus

OID_WAN_CO_GET_LINK_INFO

OID_WAN_CO_SET_LINK_INFO

WAN_CO_LINKPARAMS