Partilhar via


REMOTE_NDIS_PACKET_MSG

REMOTE_NDIS_PACKET_MSG encapsula pacotes de dados NDIS para formar uma única mensagem de dados.

A concatenação de vários elementos REMOTE_NDIS_PACKET_MSG forma uma mensagem multipacote. Cada componente REMOTE_NDIS_PACKET_MSG individual é construído como descrito abaixo. A diferença da mensagem de pacote único é que o campo MessageLength em cada cabeçalho REMOTE_NDIS_PACKET_MSG inclui alguns bytes de preenchimento adicionais. Esses bytes de preenchimento são acrescentados a todos, exceto ao último REMOTE_NDIS_PACKET_MSG para que o REMOTE_NDIS_PACKET_MSG subsequente comece em um limite de bytes apropriado. Para mensagens enviadas do dispositivo para o host, esse preenchimento deve resultar em cada REMOTE_NDIS_PACKET_MSG começando em um deslocamento de byte que é um múltiplo de 8 bytes a partir do início da mensagem multipacote. Quando o host envia uma mensagem multipacote para o dispositivo, ele aderirá ao PacketAlignmentFactor especificado pelo dispositivo.

O formato REMOTE_NDIS_PACKET_MSG é definido na tabela a seguir.

Deslocamento Tamanho Domínio Descrição

0

4

Tipo de mensagem

Especifica o tipo de mensagem que está sendo enviada. Defina como 0x1.

4

4

Comprimento da mensagem

Comprimento da mensagem em bytes, incluindo dados de pacote anexados, dados OOB, dados de informações por pacote e preenchimento interno e externo.

8

4

Deslocamento de dados

Especifica o deslocamento em bytes desde o início do campo DataOffset desta mensagem até o início dos dados. Este é um múltiplo inteiro de 4.

12

4

DataLength

Especifica o número de bytes no conteúdo de dados desta mensagem.

16

4

OOBDataOffset

Especifica o deslocamento em bytes do primeiro registro de dados OOB desde o início do campo DataOffset desta mensagem. Defina como zero se não houver dados OOB. Caso contrário, este é um múltiplo inteiro de 4.

20

4

OOBDataLength

Especifica em bytes o comprimento total dos dados OOB.

24

4

NumOOBDataElements

Especifica o número de registros OOB nesta mensagem.

28

4

PerPacketInfoOffset

Especifica em bytes o deslocamento desde o início do campo DataOffset na mensagem de dados REMOTE_NDIS_PACKET_MSG até o início do primeiro registro de dados de informações por pacote. Defina como zero se não houver dados por pacote. Caso contrário, este é um múltiplo inteiro de 4.

32

4

PerPacketInfoLength

Especifica em bytes o comprimento total das informações por pacote contidas nesta mensagem.

36

4

VcHandle

Reservado para dispositivos orientados para conexão. Defina como zero.

40

4

Reservado

Reservado. Defina como zero.

O formato de um único registo de dados OOB é indicado no quadro seguinte.

Deslocamento Tamanho Domínio Descrição

0

4

Tamanho

Comprimento em bytes deste cabeçalho OOB e dados OOB anexados e preenchimento. Este é um múltiplo inteiro de 4.

4

4

Tipo

Nenhum definido para dispositivos 802.3.

8

4

ClassInformationOffset

O deslocamento de byte do início deste registro de dados OOB para o início dos dados OOB.

(N)

...

Dados OOB

Dados OOB; consulte a documentação do Microsoft Windows Driver Development Kit (DDK) para obter mais informações.

Nota (N) é igual ao valor de ClassInformationOffset.

A tabela a seguir define o formato de um registro de dados de informações por pacote.

Deslocamento Tamanho Domínio Descrição

0

4

Tamanho

Comprimento em bytes deste cabeçalho por pacote e dados e preenchimento anexados por pacote. Esse valor é um múltiplo inteiro de 4.

4

4

Tipo

Defina como um dos valores legais para NDIS_PER_PACKET_INFO_FROM_PACKET, conforme descrito no Windows 2000 Driver Development Kit (DDK).

8

4

PerPacketInformationOffset

O deslocamento de byte do início desse registro de dados de informações por pacote para o início dos dados de informações por pacote.

(N)

...

Dados Per-Packet

Per-Packet Dados; consulte a documentação DDK do Windows 2000 para obter mais informações.

Nota (N) é igual ao valor de PerPacketInformationOffset.

Comentários

Cada REMOTE_NDIS_PACKET_MSG pode conter um ou mais registros de dados OOB. NumOOBDataElements indica o número de registros de dados OOB nesta mensagem. Os registos de dados OOB devem aparecer em sequência. O campo OOBDataLength indica o comprimento em bytes de todo o bloco de dados OOB. O campo OOBDataOffset indica o deslocamento de bytes desde o início do campo DataOffset até o início do bloco de dados OOB. Para obter mais informações sobre dados de pacotes OOB, consulte a especificação NDIS no DDK do Windows 2000.

Se vários blocos de dados OOB forem anexados a uma mensagem REMOTE_NDIS_PACKET_MSG, cada registro de dados OOB subsequente deverá seguir imediatamente os dados do registro OOB anterior.

Nenhuma informação OOB está atualmente definida para dispositivos 802.3.

Cada REMOTE_NDIS_PACKET_MSG pode conter um ou mais registros de dados por pacote. Per-packet-info é usado para transmitir metadados de pacotes, como soma de verificação TCP. O campo PerPacketInfoOffset indica o deslocamento de bytes desde o início do campo DataOffset até o início do registro de dados de informações por pacote. O campo OOBDataLength indica o comprimento de byte do registro de dados de informações por pacote. Para obter mais informações sobre dados de informações por pacote, consulte o DDK do Windows 2000.

Se houver vários blocos de dados de informações por pacote, cada registro de dados de informações por pacote subsequente deve seguir imediatamente os dados do registro de informações por pacote anterior.

Um dispositivo NDIS remoto deve enviar e receber dados por meio de pacotes de dados NDIS. O barramento que o dispositivo usa determina como esses pacotes são passados de host para dispositivo e de dispositivo para host. Pode ser memória compartilhada ou, no caso de USB, Isoch e tubos a granel. Os pacotes NDIS também podem conter dados fora de banda (OOB), bem como os dados que atravessam a rede.

Um dispositivo NDIS remoto transfere pacotes NDIS, encapsulados como REMOTE_NDIS_PACKET_MSG através do canal de dados. Ambos os dispositivos sem conexão (como 802.3) e orientados à conexão (como ATM) usam a mesma estrutura de mensagens de pacote para facilitar o código comum para processamento de pacotes. Cada mensagem REMOTE_NDIS_PACKET_MSG contém informações sobre uma única unidade de dados de rede (como um quadro Ethernet 802.3).

Para obter mais informações sobre dados de pacotes fora de banda ou dados por pacote, consulte as seções NDIS DDK do Windows 2000.

Requerimentos

Versão

Disponível no Microsoft Windows XP e versões posteriores dos sistemas operativos Windows. Também disponível no Windows 2000 como binários redistribuíveis.

Cabeçalho

Rndis.h (inclui Rndis.h)