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.
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.