Compartilhar via


MiniportWanSend

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função é um exigido função se o driver controla uma WAN (Wide Area Network, rede de longa distância) rede adaptador. Tal um driver não tem um MiniportSend função.

Syntax

NDIS_STATUS MiniportWanSend(
  NDIS_HANDLE MiniportAdapterContext,
  NDIS_HANDLE NdisLinkHandle,
  PNDIS_WAN_PACKET WanPacket
);

Parameters

  • MiniportAdapterContext
    [no] Especifica o identificador, originalmente entrada para MiniportInitialize, identificando a miniporta e rede de longa distância (WAN) adaptador rede ele controla.
  • NdisLinkHandle
    [no] Especifica o identificador para uma área Miniport-allocated contexto para este link. O driver retornou anteriormente esse identificador em um NDIS_MAC_LINE_UP indicação quando o link foi estabelecida.
  • WanPacket
    [no] Aponta para um NDIS_WAN_PACKET estrutura, especificando os dados para serem transmitidos. Essa estrutura especifica o intervalo virtual para uma reserva com preenchimento garantido no início e fim. O driver pode manipular os dados nessa reserva de alguma forma.

Return Value

A seguinte tabela mostra os valores que MiniportWanSend pode retornar.

Valor Descrição

NDIS_STATUS_SUCCESS

O driver (ou seu adaptador rede) aceitou os dados pacote para transmissão, portanto, MiniportWanSend está retornando o pacote.

NDIS_STATUS_PENDING

O driver será o pacote completo de forma assíncrona com um chamar para NdisMWanSendComplete.

NDIS_STATUS_FAILURE ou NDIS_STATUS_XXX

O pacote fornecido era inválido ou inaceitável para adaptador de rede.

Remarks

Quando MiniportWanSend é chamado, a propriedade de tanto o descritor pacote e o pacote dados são transferidos para o driver até que ele conclua o pacote especificado, ou sincronicamente de forma assíncrona. Se MiniportWanSend Retorna um status Other Than NDIS_STATUS_PENDING, a solicitação é considerada completo e propriedade do pacote imediatamente reverte para o iniciador da solicitação de envio. Se MiniportWanSend Retorna NDIS_STATUS_PENDING, a miniporta subseqüentemente deve chamar NdisMWanSendComplete Com o pacote para indicar conclusão da solicitação de transmissão.

MiniportWanSend Pode usar ambos o MacReservedXXX e WanPacketQueue Membros dentro de NDIS_WAN_PACKET estrutura. No entanto, a miniporta não é possível acessar o ProtocolReservedXXX Os membros.

Qualquer intermediário NDIS driver que vincula próprio para um subjacente rede de longa distância (WAN) miniporta é responsável por fornecer um atualizado NDIS_WAN_PACKET estrutura para o subjacente do driver MiniportWanSend função. Antes tal um intermediário chamadas driver NdisSend, ele deve remontar o pacote de envio fornecido ao seu MiniportWanSend função assim o subjacente driver terá MacReservedx e WanPacketQueue áreas de seu próprio para usar.

O disponível preenchimento cabeçalho em um determinado pacote pode ser calculado como (CurrentBuffer - StartBuffer), o disponível cauda preenchimento como (EndBuffer - (CurrentBuffer + CurrentLength)). O cabeçalho e preenchimento cauda é garantida seja pelo menos o tamanho que a miniporta solicitada na resposta para uma acima consulta OID_WAN_GET_INFO. O cabeçalho e / ou preenchimento cauda para qualquer pacote fornecido ao MiniportWanSend Pode ser mais do que o comprimento que foi solicitado.

MiniportWanSend Nenhuma pode retornar NDIS_STATUS_RESOURCES para uma entrada pacote nem chamar NdisMSendResourcesAvailable. Em vez disso, a miniporta deve de entrada fila enviar pacotes internamente para transmissão subseqüente. A miniporta controla quantas pacotes NDIS irá enviar para MiniportWanSend Quando o driver adaptador rede define o SendWindow valor do driver NDIS_MAC_LINE_UP indicação para estabelecer o link fornecido. Adaptador usa esse valor como um limite superior em envia não concluída enviados para MiniportWanSend, portanto, a miniporta interna fila não pode ser saturação e a miniporta pode ajustar a SendWindow dinamicamente com indicações fila subseqüentes para links estabelecidos. Se a miniporta definido o SendWindow Para zero quando ele chamado NdisMIndicateStatus Com uma indicação determinada fila, adaptador usa o MaxTransmit valor que o driver originalmente definido na resposta para a consulta OID_WAN_GET_INFO como seu limite em enviado mas enviar pacotes.

Cada pacote passado para MiniportWanSend é definido up de acordo com um dos sinalizadores que a miniporta definida na FramingBits membro na resposta para a consulta OID_WAN_GET_INFO. Ele irá conter estruturas PPP HDLC simples se o driver referentes ao suporte PPP. Para estruturas SLIP ou RAS, tal um pacote contém apenas os parte de dados com nenhum estruturas qualquer.

Um rede de longa distância (WAN) driver não é possível gerenciar software auto-retorno ou modo promíscuo auto-retorno internamente. ADAPTADOR fornece esse suporte auto-retorno para rede de longa distância (WAN) drivers.

MiniportWanSend Pode ser Pre-empted por uma interrupção.

Requirements

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

See Also

Reference

MiniportInitialize
MiniportQueryInformation
MiniportSend
NDIS_MAC_LINE_UP
NdisMIndicateStatus
NdisMSendResourcesAvailable
NdisMWanSendComplete
NDIS_WAN_PACKET
NdisSend