OID_WAN_CO_GET_INFO
O OID_WAN_CO_GET_INFO OID solicita que o driver de miniporta retorne informações que se aplicam a todas as conexões virtuais (VCs) em sua NIC. Essas informações são retornadas em uma estrutura NDIS_WAN_CO_INFO, definida da seguinte forma.
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 desta estrutura contêm as seguintes informações:
MaxFrameSize
Especifica o tamanho máximo do quadro para qualquer pacote de rede que o driver de miniporta pode enviar e receber. Esse valor deve excluir a sobrecarga de enquadramento do próprio driver de miniporta e/ou a sobrecarga de HDLC do PPP. Normalmente, este valor ronda os 1500.
No entanto, todos os drivers de miniporta CoNDIS WAN devem usar um MaxFrameSize interno que é 32 bytes maior do que o valor que eles retornam para esse OID. Por exemplo, um driver de miniporta CoNDIS WAN que retorna 1500 para este OID deve aceitar internamente e enviar até 1532. Esse driver de miniporta pode suportar prontamente futuras pontes e protocolos adicionais.
MaxSendWindow
Especifica o número máximo de pacotes pendentes que o driver de miniporta WAN CoNDIS pode manipular em um VC. Este 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 de MiniportCoSendPackets do driver de miniporta antes que o NDISWAN mantenha os pacotes de envio. Esses pacotes são enfileirados até que o driver de miniporta conclua um envio pendente. Um driver de miniporta pode ajustar esse valor dinamicamente e por VC usando o membro SendWindow na estrutura de WAN_CO_LINKPARAMS que o driver de miniporta passa para NdisMCoIndicateStatus. NDISWAN usa o valor atual SendWindow como seu limite de envios pendentes. Se o driver de miniporta definir SendWindow como zero, o NDISWAN deverá parar de enviar pacotes para o VC específico. Ou seja, o driver de miniporta especifica que a janela de envio é desligada, o que, na verdade, especifica que ela não pode aceitar nenhum pacote do NDISWAN.
Como um driver de miniporta WAN CoNDIS deve enfileirar pacotes internamente, o valor de MaxSendWindow é teoricamente máximo ( 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 miniporta sempre tiver espaço para pelo menos quatro pacotes, o driver de miniporta definirá MaxSendWindow para 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 suportados pelo driver de miniporta. O driver de miniporta pode especificar uma combinação dos seguintes valores, usando o operador binário OR:
RAS_FRAMING
Defina somente se o driver de miniporta puder detetar enquadramentos RAS mais antigos. Somente drivers herdados que suportavam enquadramento RAS anterior definem esse sinalizador.
RAS_COMPRESSION
Defina apenas se o driver de miniporta suportar o esquema de compactação RAS mais antigo.
PPP_FRAMING
Deve ser sempre definido. Indica que o driver de miniporta pode detetar e suportar enquadramento PPP para seu tipo médio.
PPP_COMPRESS_ADDRESS_CONTROL
Defina se o driver da miniporta suporta o endereço PPP e a compactação do campo de controle.
NDISWAN removerá o endereço e o campo de controle se essa opção LCP for negociada. Alguns tipos médios de WAN, como X.25, não suportam essa opção.
PPP_COMPRESS_PROTOCOL_FIELD
Defina se o driver da miniporta suporta compactação de campo do protocolo PPP.
NDISWAN removerá um byte do campo de protocolo quando aplicável se esta opção LCP for negociada.
PPP_ACCM_SUPPORTED
Defina se o driver de miniporta oferece suporte ao mapeamento assíncrono de caracteres de controle. Esse bit só é válido para mídia assíncrona, como modems. Se esse bit estiver definido, o membro DesiredACCM deverá ser válido.
PPP_MULTILINK_FRAMING
Defina se o driver de miniporta suporta enquadramento de vários links, conforme especificado no IETF RFC 1717.
PPP_SHORT_SEQUENCE_HDR_FORMAT
Defina se o driver de miniporta suporta o formato de cabeçalho para enquadramento de vários links, conforme especificado no IETF RFC 1717.
SLIP_FRAMING
Defina se o driver de miniporta pode detetar e suportar enquadramento SLIP (somente drivers de miniporta assíncronos).
SLIP_VJ_COMPRESSION
Defina se o driver da miniporta pode suportar a compactação de cabeçalho TCP/IP Van Jacobsen para SLIP. NDISWAN suporta SLIP_VJ_COMPRESSION (com 16 slots). A mídia assíncrona (drivers de miniporta serial) que suportam o enquadramento SLIP deve definir esse bit.
A mídia assíncrona não precisa escrever nenhum código para suportar a compactação de cabeçalho VJ. NDISWAN cuidará disso.
SLIP_VJ_AUTODETECT
Defina se o driver da miniporta pode detetar automaticamente a compactação de cabeçalho TCP/IP Van Jacobsen para SLIP. O NDISWAN detetará automaticamente a compactação do cabeçalho VJ. A mídia assíncrona (drivers de miniporta serial) deve definir esse bit se eles suportarem o enquadramento SLIP.
TAPI_PROVIDER
Defina se o driver de miniporta suporta os OIDs do provedor de serviços TAPI. A menos que esse bit seja definido, as chamadas TAPI OID não serão feitas para o driver de miniporta.
MEDIA_NRZ_ENCODING
Defina se o driver de miniporta suporta codificação NRZ, o padrão PPP para alguns tipos de mídia, como ISDN. Este valor é reservado para uso futuro.
MEDIA_NRZI_ENCODING
Defina se o driver de miniporta suporta codificação NRZI. Este valor é reservado para uso futuro.
MEDIA_NLPID
Defina se o driver de miniporta tem e pode definir o NLPID em seu quadro. Este valor é reservado para uso futuro.
RFC_1356_FRAMING
Defina se o driver de miniporta suporta IETF, RFC 1356, X.25 e enquadramento ISDN. Este valor é reservado para uso futuro.
RFC_1483_FRAMING
Defina se o driver da miniporta suporta encapsulamento IETF RFC 1483 ATM adaptação layer-5. Este valor é reservado para uso futuro.
RFC_1490_FRAMING
Defina se o driver de miniporta suporta enquadramento IETF RFC 1490 Frame Relay. Este valor é reservado para uso futuro.
NBF_PRESERVE_MAC_ADDRESS
Defina se o driver de miniporta suporta enquadramento IETF conforme especificado no rascunho "The PPP NETBIOS Frames Control Protocol (NBFCP)".
SHIVA_FRAMING
Substituído por NBF_PRESERVE_MAC_ADDRESS.
PASS_THROUGH_MODE
Defina se o driver de miniporta faz seu próprio enquadramento. Se esse sinalizador estiver definido, o NDISWAN passará quadros, não interpretados e não modificados.
Os drivers de miniporta devem estar no modo de enquadramento PPP padrão até que cada driver de miniporta receba uma solicitação de OID_WAN_CO_SET_LINK_INFO. O driver de miniporta deve detetar automaticamente qualquer enquadramento que alegue suportar.
Por exemplo, os drivers de miniporta que suportam enquadramento RAS antigo devem detetar automaticamente o enquadramento RAS a partir do enquadramento PPP. Se um driver de miniporta detetar um esquema de enquadramento diferente do padrão, esse driver de miniporta deverá alternar automaticamente seu enquadramento para o enquadramento recém-detectado.
Uma consulta subsequente com OID_WAN_CO_GET_LINK_INFO deve indicar o enquadramento detetado. Se nenhum enquadramento ainda for detetado, o FramingBits deverá ser zero nas informações de NDIS_WAN_CO_GET_LINK_INFO retornadas.
Se o driver de miniporta WAN for chamado posteriormente com OID_WAN_CO_SET_LINK_INFO em que o membro FramingBits é zero, o driver de miniporta deve tentar detetar automaticamente o enquadramento na receção de cada quadro.
DesiredACCM
O Mapa de Caracteres de Controle Assíncrono é negociado. Este membro é relevante apenas para tipos de mídia assíncrona.
Requerimentos
Versão |
Suporte para drivers NDIS 6.0 e NDIS 5.1 no Windows Vista. Suportado para drivers NDIS 5.1 no Windows XP. |
Cabeçalho |
Ntddndis.h (inclui Ndis.h) |