NDK_FN_SEND_AND_INVALIDATE fungsi panggilan balik (ndkpi.h)
Fungsi NdkSendAndInvalidate (NDK_FN_SEND_AND_INVALIDATE) memposting permintaan pengiriman pada pasangan antrean (QP) NDK dan memasok token untuk tidak valid di peer jarak jauh setelah menerima penyelesaian.
Sintaks
NDK_FN_SEND_AND_INVALIDATE NdkFnSendAndInvalidate;
NTSTATUS NdkFnSendAndInvalidate(
[in] NDK_QP *pNdkQp,
[in, optional] PVOID RequestContext,
const NDK_SGE *pSgl,
[in] ULONG nSge,
[in] ULONG Flags,
[in] UINT32 RemoteToken
)
{...}
Parameter
[in] pNdkQp
Penunjuk ke objek pasangan antrean (QP) NDK (NDK_QP).
[in, optional] RequestContext
Nilai konteks yang akan dikembalikan di anggota RequestContext dari struktur NDK_RESULT_EX untuk permintaan ini.
pSgl
Array struktur SGE (NDK_SGE) yang mewakili buffer yang menyimpan data untuk dikirim.
[in] nSge
Jumlah struktur SGE dalam array yang ditentukan dalam parameter pSgl .
[in] Flags
Bitwise OR dari bendera yang menentukan operasi yang diizinkan. Bendera berikut didukung:
Nilai | Makna |
---|---|
|
Jika permintaan ini berhasil, permintaan ini tidak menghasilkan peristiwa penyelesaian dalam antrean penyelesaian keluar. Namun, jika gagal, itu menghasilkan peristiwa penyelesaian dalam antrean penyelesaian keluar. |
|
Semua permintaan baca sebelumnya harus selesai sebelum perangkat keras mulai memproses permintaan ini. |
|
Antrean penyelesaian untuk peer menghasilkan pemberitahuan. Untuk informasi selengkapnya tentang NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT, lihat bagian Keterangan. |
|
Menunjukkan bahwa memori yang dirujuk oleh SGEs harus ditransfer sebaris. Selain itu, nilai MemoryRegionToken dalam entri NDK_SGE mungkin tidak valid. Permintaan sebaris tidak perlu membatasi jumlah entri dalam daftar SGE ke nilai MaxInitiatorRequestSge yang ditentukan saat pasangan antrean dibuat. Jumlah memori yang ditransfer sebaris harus berada dalam batas data sebaris dari pasangan antrean. |
|
Menunjukkan kepada penyedia NDK bahwa ia dapat menukar permintaan ke perangkat keras untuk diproses. Untuk informasi selengkapnya tentang bendera ini, lihat Skema Pemrosesan Yang Ditangguhkan NDKPI.
Catatan Bendera ini hanya didukung di NDKPI 1.2 (Windows Server 2012 R2) dan yang lebih baru. |
[in] RemoteToken
Token jarak jauh yang akan dibatalkan di peer setelah menerima penyelesaian. Penyedia NDK di peer penerima harus membatalkan koneksi, seperti yang ditentukan oleh aturan transportasi lapisan bawah, jika token yang tidak valid ditentukan oleh peer pengirim.
Nilai kembali
Fungsi NdkSendAndInvalidate mengembalikan salah satu kode NTSTATUS berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Permintaan berhasil diposting. Entri penyelesaian akan diantrekan ke antrean penyelesaian (CQ) ketika permintaan kerja selesai. |
|
Pasangan antrean (QP) tidak tersambung. |
|
Terjadi kesalahan. |
Keterangan
Anda dapat menggunakan bendera NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT jika Anda mengeluarkan beberapa permintaan pengiriman terkait. Atur bendera ini pada permintaan terakhir dalam grup.
Konsumen NDK dapat menggunakan bendera ini saat mengeluarkan beberapa permintaan pengiriman terkait. Konsumen NDK menetapkan bendera ini hanya pada permintaan pengiriman terkait yang terakhir. Serekan akan menerima semua permintaan kirim seperti biasa. Namun, ketika serekan menerima permintaan pengiriman terakhir (permintaan dengan bendera NDK_OP_FLAG_SEND_AND_SOLICIT_EVENT diatur), antrean penyelesaian untuk serekan menghasilkan pemberitahuan. Pemberitahuan dibuat setelah permintaan terima selesai. Bendera ini tidak memiliki arti untuk penerima (peer) kecuali penerima sebelumnya telah memanggil fungsi NdkArmCq (NDK_FN_ARM_CQ) dengan jenis pemberitahuan diatur ke NDK_CQ_NOTIFY_SOLICITED.
Setiap struktur NDK_RESULT_EX yang ditambahkan ke antrean penyelesaian sebagai akibat dari panggilan ke fungsi ini harus menentukan NdkOperationTypeSend untuk anggota Jenis . Perhatikan bahwa Anda tidak perlu menentukan nilai untuk anggota TypeSpecificCompletionOutput dari struktur NDK_RESULT_EX .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tidak ada yang didukung, Didukung di NDIS 6.40 dan yang lebih baru. |
Server minimum yang didukung | Windows Server 2012 R2 |
Target Platform | Windows |
Header | ndkpi.h (termasuk Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Lihat juga
Persyaratan Penanganan Penyelesaian NDKPI
Skema Pemrosesan yang Ditangguhkan NDKPI
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk