Compartilhar via


Função NdisMCoIndicateReceiveNetBufferLists (ndis.h)

A função NdisMCoIndicateReceiveNetBufferLists indica que o driver de miniporto recebeu dados da rede.

Sintaxe

void NdisMCoIndicateReceiveNetBufferLists(
  [in] IN NDIS_HANDLE      NdisVcHandle,
  [in] IN PNET_BUFFER_LIST NetBufferLists,
  [in] IN ULONG            NumberOfNetBufferLists,
  [in] IN ULONG            CoReceiveFlags
);

Parâmetros

[in] NdisVcHandle

Um identificador que identifica uma VC (conexão virtual). O driver de miniporto obteve esse identificador como um parâmetro de entrada para sua função MiniportCoCreateVc, quando um cliente configurou uma chamada de saída ou quando o gerenciador de chamadas criou uma VC para um SAP (ponto de acesso de serviço) registrado pelo cliente para indicar uma notificação de chamada de entrada.

[in] NetBufferLists

Uma lista vinculada de estruturas de NET_BUFFER_LIST alocadas pelo driver de miniporto.

[in] NumberOfNetBufferLists

O número de estruturas NET_BUFFER_LIST que estão na lista vinculada de estruturas que NetBufferLists especifica.

[in] CoReceiveFlags

Sinalizadores que definem atributos para a operação de envio. Os sinalizadores podem ser combinados com uma operação OR bit a bit. Para limpar todos os sinalizadores, defina esse parâmetro como zero. NdisMCoIndicateReceiveNetBufferLists dá suporte aos seguintes sinalizadores:

NDIS_RECEIVE_FLAGS_DISPATCH_LEVEL

O IRQL atual é DISPATCH_LEVEL. Para obter mais informações sobre esse sinalizador, consulte de Acompanhamento de IRQL de Expedição.

NDIS_RECEIVE_FLAGS_RESOURCES

O driver de miniporto recupera a propriedade das estruturas de NET_BUFFER_LIST e quaisquer estruturas de NET_BUFFER anexadas imediatamente após NdisMCoIndicateReceiveNetBufferLists retorna.

Valor de retorno

Nenhum

Observações

Um driver de miniporto normalmente chama a função NdisMCoIndicateReceiveNetBufferLists de sua função de MiniportInterruptDPC. Quando um driver de miniporto chama NdisMCoIndicateReceiveNetBufferLists, ele especifica uma lista de estruturas de NET_BUFFER_LIST no parâmetro NetBufferLists. Em seguida, o NDIS passa as estruturas de NET_BUFFER_LIST para associar drivers de protocolo.

Os drivers de miniporto devem definir o membro sourceHandle de cada estrutura NET_BUFFER_LIST com o mesmo valor que o parâmetro NdisVcHandle para que o NDIS possa retornar as estruturas de NET_BUFFER_LIST para o driver de miniporto correto.

Se um driver de miniporto chamar NdisMCoIndicateReceiveNetBufferLists e limpar o sinalizador NDIS_RECEIVE_FLAGS_RESOURCES no parâmetro coreceiveFlags, o NDIS retornará as estruturas de NET_BUFFER_LIST que NetBufferLists especificar ao driver do miniport função MiniportReturnNetBufferLists. Nesse caso, o driver de miniporto não deve recuperar as estruturas de NET_BUFFER_LIST até que o NDIS retorne as estruturas de NET_BUFFER_LIST à função MiniportReturnNetBufferLists do driver de miniport.

Se um driver de miniporto chamar NdisMCoIndicateReceiveNetBufferLists e definir o sinalizador NDIS_RECEIVE_FLAGS_RESOURCES no parâmetro CoReceiveFlags, o driver de miniporto deverá recuperar a propriedade das estruturas NET_BUFFER_LIST imediatamente. Nesse caso, o NDIS não chama a função MiniportReturnNetBufferLists do driver de miniporto para retornar as estruturas de NET_BUFFER_LIST. Em vez disso, o NDIS retorna as estruturas de NET_BUFFER_LIST para o driver de miniporto quando NdisMCoIndicateReceiveNetBufferLists retorna. O driver de miniporto deve recuperar as estruturas de NET_BUFFER_LIST imediatamente após NdisMCoIndicateReceiveNetBufferLists retorna. Para recuperar as estruturas de NET_BUFFER_LIST, um driver de miniporto pode chamar de sua própria função MiniportReturnNetBufferLists.

Se um driver de miniporto definir o sinalizador NDIS_RECEIVE_FLAGS_RESOURCES no parâmetro coreceiveFlags, os drivers de protocolo deverão copiar os dados de rede e liberar as estruturas de NET_BUFFER_LIST para o driver de miniport. Você deve projetar seus drivers de miniporto com estruturas de NET_BUFFER_LIST pré-alocadas suficientes para evitar cópias desnecessárias.

O chamador de NdisMCoIndicateReceiveNetBufferLists deve inicializar corretamente as estruturas de NET_BUFFER_LIST, as estruturas de NET_BUFFER anexadas e quaisquer listas de descritores de memória anexadas (MDLs).

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI Irql_MCO_Function(ndis)

Consulte também

miniportCoCreateVc

miniportInterruptDPC

MiniportReturnNetBufferLists

NET_BUFFER

NET_BUFFER_LIST