MINIPORT_WDI_RX_GET_MPDUS función de devolución de llamada (dot11wdi.h)
Importante
Este tema forma parte del modelo de controlador WDI publicado en Windows 10. El modelo de controlador WDI está en modo de mantenimiento y solo recibirá correcciones de prioridad alta. WiFiCx es el modelo de controlador de Wi-Fi publicado en Windows 11. Se recomienda usar WiFiCx para aprovechar las características más recientes.
La función de controlador MiniportWdiRxGetMpdus devuelve una cadena NET_BUFFER_LIST . Cada NET_BUFFER_LIST representa un MPDU.
Se trata de un controlador de miniporte WDI dentro de NDIS_MINIPORT_WDI_DATA_HANDLERS.
Sintaxis
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 devuelto por el miniporte IHV en MiniportWdiTalTxRxInitialize.
[in] PeerId
Identificador del mismo nivel.
[in] ExTid
TiD extendido.
[out] ppNBL
Puntero a un puntero a una cadena de NET_BUFFER_LIST desde el miniporte IHV.
Valor devuelto
None
Observaciones
Si PeerId y ExTid no son caracteres comodín (por ejemplo, PeerId no es igual a 0xFFFF, ExTid no es igual a 31), todas las MPD de la cadena tienen el mismo identificador del mismo nivel y TID (en este caso, TID es un TID válido 802.11 TID).
Cada NET_BUFFER_LIST apunta a estructuras NET_BUFFER . Cada estructura de NET_BUFFER representa un MSDU.
Si un MPDU tiene un fragmento de MSDU como carga y desfragmentación no se descarga en target/TAL (o el modo FIPS implementado por el host está habilitado), el NET_BUFFER_LIST correspondiente tiene un NET_BUFFER que describe el fragmento de MSDU.
El desplazamiento de datos de cada NET_BUFFER debe establecerse en el inicio del encabezado MAC.
Ejemplos
Para definir una función MiniportWdiRxGetMpdus, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.
Por ejemplo, para definir una función MiniportWdiRxGetMpdus denominada "MyRxGetMpdus", use el tipo de MINIPORT_WDI_RX_GET_MPDUS como se muestra en este ejemplo de código:
MINIPORT_WDI_RX_GET_MPDUS MyRxGetMpdus;
A continuación, implemente la función de la siguiente manera:
_Use_decl_annotations_
VOID
MyRxGetMpdus(
TAL_TXRX_HANDLE MiniportTalTxRxContext,
WDI_PEER_ID PeerId,
WDI_EXTENDED_TID ExTid,
PNET_BUFFER_LIST *ppNBL
)
{...}
El tipo de función MINIPORT_WDI_RX_GET_MPDUS se define en el archivo de encabezado dot11wdi.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_WDI_RX_GET_MPDUS en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 |
Servidor mínimo compatible | Windows Server 2016 |
Plataforma de destino | Windows |
Encabezado | dot11wdi.h |