Compartilhar via


MINIPORT_WDI_RX_GET_MPDUS função de retorno de chamada (dot11wdi.h)

Importante

Este tópico faz parte do modelo de driver WDI lançado em Windows 10. O modelo de driver WDI está no modo de manutenção e receberá apenas correções de alta prioridade. WiFiCx é o modelo de driver Wi-Fi lançado em Windows 11. Recomendamos que você use o WiFiCx para aproveitar os recursos mais recentes.

A função de manipulador MiniportWdiRxGetMpdus retorna uma cadeia de NET_BUFFER_LIST . Cada NET_BUFFER_LIST representa um MPDU.

Esse é um manipulador de miniporte WDI dentro de NDIS_MINIPORT_WDI_DATA_HANDLERS.

Nota Você deve declarar a função usando o tipo MINIPORT_WDI_RX_GET_MPDUS . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

MINIPORT_WDI_RX_GET_MPDUS MiniportWdiRxGetMpdus;

void MiniportWdiRxGetMpdus(
  [in]  TAL_TXRX_HANDLE MiniportTalTxRxContext,
  [in]  WDI_PEER_ID PeerId,
  [in]  WDI_EXTENDED_TID ExTid,
  [out] PNET_BUFFER_LIST *ppNBL
)
{...}

Parâmetros

[in] MiniportTalTxRxContext

Identificador de dispositivo TAL retornado pelo miniporto IHV em MiniportWdiTalTxRxInitialize.

[in] PeerId

A ID do par.

[in] ExTid

O TID estendido.

[out] ppNBL

Ponteiro para um ponteiro para uma cadeia de NET_BUFFER_LIST do miniporto IHV.

Retornar valor

Nenhum

Comentários

Se PeerId e ExTid não forem curingas (por exemplo, PeerId não é igual a 0xFFFF, ExTid não é igual a 31), todas as MPDUs na cadeia são da mesma ID de par e TID (nesse caso, TID é um TID 802.11 válido).

Cada NET_BUFFER_LIST aponta para estruturas NET_BUFFER . Cada estrutura NET_BUFFER representa uma MSDU.

Se um MPDU tiver um fragmento MSDU como conteúdo e desfragmentação não for descarregado para target/TAL (ou o modo FIPS implementado pelo host estiver habilitado), o NET_BUFFER_LIST correspondente terá uma NET_BUFFER que descreve o fragmento msdu.

O deslocamento de dados de cada NET_BUFFER deve ser definido como o início do cabeçalho MAC.

Exemplos

Para definir uma função MiniportWdiRxGetMpdus, primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função MiniportWdiRxGetMpdus chamada "MyRxGetMpdus", use o tipo MINIPORT_WDI_RX_GET_MPDUS , conforme mostrado neste exemplo de código:

MINIPORT_WDI_RX_GET_MPDUS MyRxGetMpdus;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
VOID
 MyRxGetMpdus(
    TAL_TXRX_HANDLE MiniportTalTxRxContext,
    WDI_PEER_ID PeerId,
    WDI_EXTENDED_TID ExTid,
    PNET_BUFFER_LIST *ppNBL
    )
  {...}

O tipo de função MINIPORT_WDI_RX_GET_MPDUS é definido no arquivo de cabeçalho dot11wdi.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função MINIPORT_WDI_RX_GET_MPDUS no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
Plataforma de Destino Windows
Cabeçalho dot11wdi.h

Confira também

NDIS_MINIPORT_WDI_DATA_HANDLERS

NET_BUFFER

NET_BUFFER_LIST

TAL_TXRX_HANDLE

Caminho do WDI RX

WDI_EXTENDED_TID

WDI_PEER_ID