Estrutura NET_BUFFER_LIST

Uma estrutura NET_BUFFER_LIST empacota uma lista vinculada de estruturas de NET_BUFFER.

A figura a seguir mostra os campos em uma estrutura NET_BUFFER_LIST.

Diagrama ilustrando os campos em uma estrutura de NET_BUFFER_LIST.

A estrutura NET_BUFFER_LIST inclui uma estrutura NET_BUFFER_LIST_HEADER no membro NetBufferListHeader . A estrutura NET_BUFFER_LIST_HEADER inclui uma estrutura NET_BUFFER_LIST_DATA no membro NetBufferListData . Você deve usar macros NDIS para acessar NET_BUFFER_LIST membros da estrutura. Para obter mais informações sobre essas macros, consulte a página de referência da estrutura NET_BUFFER_LIST .

Alguns dos membros são usados apenas pelo NDIS. Os membros que os drivers são mais propensos a usar são definidos na seguinte lista:

ParentNetBufferList
Se uma estrutura NET_BUFFER_LIST for um filho derivado de um pai (clonado, fragmentado ou remontado), ParentNetBufferList especificará um ponteiro para a estrutura de NET_BUFFER_LIST pai. Caso contrário, esse parâmetro será NULL.

NdisPoolHandle
Especifica um identificador de pool que identifica o pool de NET_BUFFER_LIST do qual a estrutura NET_BUFFER_LIST foi alocada.

ProtocolReserved
Reservado para uso por drivers de protocolo.

MiniportReserved
Reservado para uso por miniportores.

SourceHandle
Um identificador que o NDIS forneceu ao driver em uma operação de associação ou anexação usando uma das seguintes rotinas fornecidas pelo driver:

Driver de Miniporte
MiniportInitializeEx

Driver de Protocolo
ProtocolBindAdapterEx

Driver de Filtro
FilterAttach

O NDIS usa SourceHandle para retornar a estrutura de NET_BUFFER_LIST para o driver que enviou a estrutura NET_BUFFER_LIST. Os drivers NDIS não devem ler esse identificador.

ChildRefCount
Se uma estrutura NET_BUFFER_LIST for pai (tiver filhos derivados de operações clonadas, fragmentadas ou remontadas), ChildRefCount especificará o número de filhos existentes. Caso contrário, esse parâmetro será zero.

Sinalizadores
Reservado para especificação futura de atributos para a estrutura de NET_BUFFER_LIST. Atualmente, não há sinalizadores disponíveis para drivers.

Status
Especifica o status de conclusão final de uma operação de dados de rede para essa estrutura NET_BUFFER_LIST. Os drivers de miniporta gravam esse valor antes de concluir uma operação de envio.

NetBufferListInfo
Especifica NET_BUFFER_LIST informações de estrutura comuns a todas as estruturas NET_BUFFER na lista. Essas informações geralmente são chamadas de "dados OOB (fora de banda)".

Próximo
Especifica um ponteiro para a próxima estrutura NET_BUFFER_LIST em uma lista vinculada de estruturas de NET_BUFFER_LIST. Se uma estrutura NET_BUFFER_LIST for a última estrutura da lista, esse membro será NULL.

FirstNetBuffer
Especifica um ponteiro para a primeira estrutura NET_BUFFER em uma lista vinculada de estruturas de NET_BUFFER associadas a essa estrutura NET_BUFFER_LIST.

Contexto de Observação é um ponteiro para uma estrutura de NET_BUFFER_LIST_CONTEXT. O NDIS fornece macros e funções para manipular os dados no Contexto . Para obter mais informações sobre a estrutura NET_BUFFER_LIST_CONTEXT, consulte Estrutura NET_BUFFER_LIST_CONTEXT.