Share via


OID_GEN_TRANSPORT_HEADER_OFFSET

Como um conjunto, o OID_GEN_TRANSPORT_HEADER_OFFSET OID indica o tamanho de cabeçalhos adicionais para pacotes que um transporte específico envia e recebe.

Informações sobre versão

Windows Vista e versões posteriores do Windows
Com suporte.

Drivers de miniporte NDIS 6.0 e posterior
Opcional.

Drivers de miniporte NDIS 5.1
Opcional.

Windows XP
Com suporte.

Drivers de miniporte NDIS 5.1
Opcional.

Comentários

Um transporte informa os drivers de miniporto e outros drivers em camadas desse tamanho de cabeçalho; esses drivers podem usar essas informações ao processar pacotes. Por exemplo, um driver pode usar o tamanho do cabeçalho da subcaminha obtido do transporte para localizar o início de informações de camada mais altas em pacotes, como o início do cabeçalho IP; em seguida, o driver pode analisar e ajustar os campos do cabeçalho do protocolo IP conforme apropriado. Os transportes usam uma estrutura TRANSPORT_HEADER_OFFSET, definida da seguinte maneira, para indicar esse tamanho de cabeçalho.

typedef struct _TRANSPORT_HEADER_OFFSET {
  USHORT  ProtocolType; 
  USHORT  HeaderOffset; 
} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;

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

Protocoltype
Especifica o tipo de protocolo que envia essa OID e que envia e recebe pacotes posteriormente usando o tamanho do cabeçalho de subcamada especificado. O protocolo é um dos seguintes valores:

NDIS_PROTOCOL_ID_DEFAULT
Protocolo padrão

NDIS_PROTOCOL_ID_TCP_IP
Protocolo TCP/IP

NDIS_PROTOCOL_ID_IPX
Protocolo IPX do NetWare

NDIS_PROTOCOL_ID_NBF
Protocolo NetBIOS

HeaderOffset
Especifica o tamanho, em bytes, do cabeçalho da subcamada que precede o cabeçalho de protocolo para pacotes que o protocolo envia posteriormente ou recebe do driver de miniporto ou de outro driver em camadas. Por exemplo, sizeof(cabeçalho Ethernet) + sizeof(cabeçalho SNAP).

Normalmente, os transportes calculam o tamanho do cabeçalho dos pacotes das informações recuperadas dos drivers de miniporto. Para solicitar o tamanho máximo total do pacote em bytes aos quais uma NIC dá suporte, incluindo o cabeçalho, os transportes usam o OID_GEN_MAXIMUM_TOTAL_SIZE OID. Para solicitar o tamanho máximo do pacote em bytes aos quais uma NIC dá suporte, não incluindo um cabeçalho, os transportes usam o OID_GEN_MAXIMUM_FRAME_SIZE OID. Para calcular o tamanho máximo do cabeçalho, os transportes subtraem o tamanho máximo do quadro do tamanho total máximo.

Se um transporte transmitir pacotes que contenham informações de cabeçalho de subcamada, o transporte deverá saber o tamanho do cabeçalho da subcamada desses pacotes e deve informar os drivers de miniporte subjacentes e outros drivers em camadas sobre o tamanho para que os drivers possam processar os pacotes. Enviar e receber informações específicas de cabeçalho de subcaminho em um pacote pode ser uma opção que pode ser definida no Registro para um protocolo específico. Em seguida, os transportes podem obter informações sobre cabeçalhos de subcamadas do registro e passar o tamanho do cabeçalho para baixo para drivers de miniportar ou outros drivers em camadas.

Por exemplo, se um transporte manipular pacotes da interface de dados distribuída de fibra, o transporte deverá enviar uma solicitação definida para drivers de miniporto subjacentes e outros drivers em camadas usando OID_GEN_TRANSPORT_HEADER_OFFSET para informar esses drivers sobre o tamanho do cabeçalho da subcamada dos pacotes. (Não há suporte para FDDI no Windows Vista e versões posteriores do Windows.) Esses pacotes da FDDI podem conter informações de LLC (Controle de Link Lógico). Essas informações da LLC podem, por sua vez, incluir um cabeçalho LLC e outros cabeçalhos, como o SNAP (Protocolo de Acesso Sub-Network). O transporte determina do registro para usar LLC/SNAP e passa o tamanho do cabeçalho dos segmentos LLC/SNAP de pacotes para miniportar drivers.

Essa OID é opcional para drivers de miniporte e outros drivers em camadas. Como essa OID é opcional, os drivers não são obrigados a responder às solicitações que os transportes fazem usando esse OID.

Requisitos

parâmetro

Ntddndis.h (inclua Ndis.h)

Confira também

OID_GEN_MAXIMUM_FRAME_SIZE

OID_GEN_MAXIMUM_TOTAL_SIZE