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