NDIS_WDI_RX_INORDER_DATA_IND fungsi panggilan balik (dot11wdi.h)

Penting

Topik ini adalah bagian dari model driver WDI yang dirilis dalam Windows 10. Model driver WDI berada dalam mode pemeliharaan dan hanya akan menerima perbaikan prioritas tinggi. WiFiCx adalah model driver Wi-Fi yang dirilis dalam Windows 11. Kami menyarankan agar Anda menggunakan WiFiCx untuk memanfaatkan fitur terbaru.

Fungsi panggilan balik NdisWdiRxInorderDataIndication menginformasikan RxMgr bahwa daftar bingkai RX tertentu dalam urutan yang benar ada.

Ini adalah panggilan balik di dalam NDIS_WDI_DATA_API.

Sintaks

NDIS_WDI_RX_INORDER_DATA_IND NdisWdiRxInorderDataInd;

void NdisWdiRxInorderDataInd(
  [in]  NDIS_HANDLE NdisMiniportDataPathHandle,
  [in]  WDI_RX_INDICATION_LEVEL IndicationLevel,
  [in]  WDI_PEER_ID PeerId,
  [in]  WDI_EXTENDED_TID ExTid,
  [in]  PNDIS_RECEIVE_THROTTLE_PARAMETERS pRxThrottleParams,
  [out] NDIS_STATUS *pWifiStatus
)
{...}

Parameter

[in] NdisMiniportDataPathHandle

NdisMiniportDataPathHandle melewati miniport IHV di MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Nilai enumerasi WDI_RX_INDICATION_LEVEL yang menentukan tingkat indikasi RX.

[in] PeerId

ID serekan.

[in] ExTid

TID yang diperluas.

[in] pRxThrottleParams

Penunjuk ke struktur NDIS_RECEIVE_THROTTLE_PARAMETERS .

[out] pWifiStatus

Status dari WDI untuk NdisWdiRxInorderDataIndication. Lihat bagian Keterangan untuk informasi lebih lanjut.

Mengembalikan nilai

Tidak ada

Keterangan

RxEngine menggunakan WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC jika indikasi ini adalah indikasi data pertama NdisWdiRxInorderDataIndication) dari DPC. Indikasi data berikutnya menggunakan WDI_RX_INDICATION_DISPATCH_GENERAL. Jika indikasi dibuat pada tingkat pasif, RxEngine harus menggunakan WDI_RX_INDICATION_PASSIVE. Indikasi yang dibuat dalam konteks MiniportWdiRxResume harus menggunakan WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Parameter ini memberikan informasi RxMgr yang diperlukan untuk membatasi masa pakai DPC.

WDI_RX_INDICATION_FLAG_RESOURCES dapat menjadi ORed bitwise dengan nilai enum lainnya untuk menyebabkan RxMgr mengatur bendera NDIS_RECEIVE_FLAG_RESOURCES pada indikasi data.

RxMgr mengeluarkan permintaan MiniportWdiRxGetMpdus untuk menarik data yang diterima.

Jika target tidak mampu mengklasifikasi bingkai RX dan menggunakan indikasi terpisah untuk bingkai RX dari pasangan PeerID/TID yang berbeda, PeerID diatur ke kartubebas (0xFFFF) dan TID diatur ke WDI_EXT_TID_UNKNOWN.

Dalam kasus di mana target/TAL bertanggung jawab penuh untuk menyusun ulang manajemen buffer, ia juga melakukan semua tindakan buang. Tidak diperlukan status MPDU.

PNDIS_RECEIVE_THROTTLE_PARAMETERS menunjuk ke ReceiveThrottleParameters, yang diteruskan oleh NDIS untuk interupsi yang terdaftar di NDIS. Ini hanya perlu diatur untuk WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Semua indikasi data lainnya harus melewati NULL, karena parameter ini diabaikan.

Jika RxMgr mengatur WDI_STATUS keberhasilan, RxEngine dapat membuat lebih banyak indikasi data dalam konteks DPC yang sama. Jika RxMgr mengatur WDI_STATUS untuk dijeda, RxEngine tidak boleh membuat indikasi data sampai RxMgr mengeluarkan MiniportWdiRxResume dan harus keluar dari tingkat pengiriman sesegera mungkin.

RxEngine dapat memilih cara menangani data masuk saat dijeda. Jika memungkinkan, seharusnya hanya buffer data. Menghilangkan data juga dapat diterima.

RxMgr melacak jumlah bingkai yang ditunjukkan ke NDIS terhadap batas yang ditentukan dalam PNDIS_RECEIVE_THROTTLE_PARAMETERS. RxMgr juga melacak waktu yang dihabiskan saat pengiriman. Ketika batas tercapai, RxMgr mengembalikan NDIS_STATUS_PAUSED. RxEngine harus kembali/keluar dari DPC sesegera mungkin, dan tidak boleh menunjukkan struktur NET_BUFFER_LIST lagi (melalui NdisWdiRxInorderDataIndication) sampai RxMgr memanggil MiniportWdiRxResume. Setiap struktur NET_BUFFER_LIST yang diberikan kepada RxMgr (melalui MiniportWdiRxGetMpdus) dan belum ditunjukkan hingga NDIS dalam konteks yang berbeda untuk menghindari menghabiskan terlalu banyak waktu di DPC. Setelah backlog tersebut dibersihkan, RxMgr membatalkan jeda RxEngine dengan memanggil MiniportWdiRxResume.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Server minimum yang didukung Server Windows 2016
Target Platform Windows
Header dot11wdi.h

Lihat juga

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

Jalur WDI RX

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL