Compartilhar via


Função NdisBuildScatterGatherList (ndis.h)

A função NdisBuildScatterGatherList cria uma lista de dispersão/coleta usando os parâmetros especificados.

Sintaxe

NDIS_STATUS NdisBuildScatterGatherList(
  [in] IN NDIS_HANDLE                          NdisHandle,
  [in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);

Parâmetros

[in] NdisHandle

Um identificador de instância ou driver NDIS que foi obtido durante a inicialização do chamador. Por exemplo, um driver de miniporte pode usar o identificador NDIS obtido do Função NdisMRegisterMiniportDriver ou MiniportInitializeEx . Outros drivers NDIS podem usar os identificadores das seguintes funções:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SGListParameters

Um ponteiro para um NDIS_SCATTER_GATHER_LIST_PARAMETERS estrutura que especifica os parâmetros para alocar a lista de dispersão/coleta.

Retornar valor

NdisBuildScatterGatherList pode retornar os seguintes valores de status:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
A operação foi concluída com sucesso.
NDIS_STATUS_BUFFER_TOO_SHORT
A operação falhou porque o comprimento do buffer especificado no membro ScatterGatherListBufferSize do NDIS_SCATTER_GATHER_LIST_PARAMETERS estrutura era muito curta. Nesse caso, o NDIS forneceu o tamanho do buffer necessário no membro ScatterGatherListBufferSizeNeeded .

Comentários

Os drivers NDIS chamam a função NdisBuildScatterGatherList para criar uma lista de dispersão/coleta para um buffer. Para chamar essa função, um driver de miniporto especifica um identificador de adaptador de miniporto ou um driver de protocolo especifica um identificador de associação NDIS.

O adaptador de miniporte subjacente deve ter chamado NdisMRegisterScatterGatherDma antes que um driver possa chamar NdisBuildScatterGatherList.

O NDIS chama a função NetProcessSGList especificada no membro ProcessSGListHandler do NDIS_SCATTER_GATHER_LIST_PARAMETERS estrutura no contexto de NdisBuildScatterGatherList.

Os drivers devem chamar o Função NdisFreeScatterGatherList para liberar uma lista de dispersão/coleta que foi criada com o Função NdisBuildScatterGatherList .

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.20 e posterior.
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL = DISPATCH_LEVEL

Confira também

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList