Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um provedor de divisão de dados de cabeçalho deve definir os sinalizadores de divisão de dados de cabeçalho no NblFlags membro das estruturas de NET_BUFFER_LIST para receber indicações. Para frames divididos, uma NIC também deve fornecer o endereço físico da parte de dados do frame recebido no membro DataPhysicalAddress de cada estrutura NET_BUFFER.
Observação Um driver de miniporta pode definir o membro DataPhysicalAddress da estrutura NET_BUFFER, mesmo que o NET_BUFFER não esteja associado a um quadro dividido. Nesse caso, DataPhysicalAddress contém o endereço físico do cabeçalho MDL.
O fornecedor de divisão de cabeçalho e dados combina os sinalizadores no membro NblFlags com uma operação OR bit a bit.
O provedor de divisão de dados de cabeçalho pode definir os seguintes sinalizadores, mesmo que não divida um quadro:
NDIS_NBL_FLAGS_IS_IPV4
Todos os quadros no NET_BUFFER_LIST são quadros IPv4. Se esse sinalizador estiver definido, o sinalizador NDIS_NBL_FLAGS_IS_IPV6 não deverá ser definido.
NDIS_NBL_FLAGS_IS_IPV6
Todos os quadros no NET_BUFFER_LIST são quadros IPv6. Se esse sinalizador estiver definido, o sinalizador NDIS_NBL_FLAGS_IS_IPV4 não deverá ser definido.
NDIS_NBL_FLAGS_IS_TCP
Todos os quadros no NET_BUFFER_LIST são quadros TCP. Se este sinalizador estiver ativado, NDIS_NBL_FLAGS_IS_UDP não deve ser ativado. E NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 devem estar definidos.
NDIS_NBL_FLAGS_IS_UDP
Todos os quadros no NET_BUFFER_LIST são quadros UDP. Se esse sinalizador estiver definido, NDIS_NBL_FLAGS_IS_TCP não deve ser definido. E NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 devem estar definidos.
Qualquer driver NDIS pode definir os sinalizadores anteriores para depuração, teste ou outros fins. Se um driver defina estes sinalizadores, os valores devem descrever com precisão o conteúdo do frame recebido. Recomenda-se a definição desses sinalizadores.
O provedor de divisão de dados de cabeçalho pode definir os seguintes sinalizadores de divisão de dados de cabeçalho:
NDIS_NBL_FLAGS_HD_SPLIT
O cabeçalho e os dados são divididos em todos os quadros Ethernet associados à estrutura NET_BUFFER_LIST.
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
Todos os quadros na estrutura NET_BUFFER_LIST são divididos no início do cabeçalho do protocolo de camada superior. Se este sinalizador estiver ativado, ou NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 deve ser ativado. Além disso, NDIS_NBL_FLAGS_IS_TCP ou NDIS_NBL_FLAGS_IS_UDP podem ser definidos. E o NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD não deve estar configurado.
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD
Todos os quadros em uma estrutura de NET_BUFFER_LIST são divididos no início da carga útil TCP ou no início da carga útil UDP. Se este sinalizador estiver ativado, ou NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 deve ser ativado. Devem ser definidos NDIS_NBL_FLAGS_IS_TCP ou NDIS_NBL_FLAGS_IS_UDP. Além disso, NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER não deve ser ativado.
Se o provedor de divisão de dados de cabeçalho não dividir um quadro, o quadro deve ser identificado com os seguintes sinalizadores desmarcados em NblFlags:
NDIS_NBL_FLAGS_HD_SPLIT
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD