Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um provedor de divisão de dados de cabeçalho deve definir os sinalizadores de divisão de dados de cabeçalho no membro NblFlags das estruturasde NET_BUFFER_LIST para receber indicações. Para quadros divididos, uma NIC também deve fornecer o endereço físico da parte de dados do quadro recebido no membro DataPhysicalAddress de cada estrutura NET_BUFFER .
Nota 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 provedor de divisão de dados de cabeçalho 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 ele 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 esse sinalizador estiver definido, NDIS_NBL_FLAGS_IS_UDP não deverá ser definido. E NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 devem ser 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 deverá ser definido. E NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 devem ser definidos.
Qualquer driver NDIS pode definir os sinalizadores anteriores para depuração, teste ou outras finalidades. Se um driver definir esses sinalizadores, os valores deverão descrever com precisão o conteúdo do quadro recebido. É recomendável definir esses 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 de protocolo de camada superior. Se esse sinalizador estiver definido, NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 deverão ser definidos. Além disso, NDIS_NBL_FLAGS_IS_TCP ou NDIS_NBL_FLAGS_IS_UDP podem ser definidos. E NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD não deve ser definido.
NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD
Todos os quadros em uma estrutura NET_BUFFER_LIST são divididos no início da carga TCP ou no início do conteúdo UDP. Se esse sinalizador estiver definido, NDIS_NBL_FLAGS_IS_IPV4 ou NDIS_NBL_FLAGS_IS_IPV6 deverão ser definidos. É necessário definir 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 definido.
Se o provedor de divisão de dados de cabeçalho não dividir um quadro, o quadro deverá ser indicado com os seguintes sinalizadores limpos 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