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.

Nota Debe declarar la función mediante el tipo MINIPORT_WDI_RX_GET_MPDUS . Para obtener más información, consulte la sección Ejemplos siguientes.
 

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

Consulte también

NDIS_MINIPORT_WDI_DATA_HANDLERS

NET_BUFFER

NET_BUFFER_LIST

TAL_TXRX_HANDLE

Ruta de acceso de RX de WDI

WDI_EXTENDED_TID

WDI_PEER_ID