Fungsi NdisMSynchronizeWithInterruptEx (ndis.h)
Driver miniport memanggil fungsi NdisMSynchronizeWithInterruptEx untuk menyinkronkan eksekusi fungsi miniport yang disediakan driver dengan fungsi MiniportInterrupt .
Sintaks
BOOLEAN NdisMSynchronizeWithInterruptEx(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
[in] PVOID SynchronizeFunction,
[in] PVOID SynchronizeContext
);
Parameter
[in] NdisInterruptHandle
Handel interupsi yang diperoleh driver miniport dalam panggilan sebelumnya ke Fungsi NdisMRegisterInterruptEx .
[in] MessageId
Interupsi bertanda pesan yang harus disinkronkan oleh driver. Jika NDIS tidak memberikan interupsi sinyal pesan untuk driver, NDIS mengabaikan parameter ini. MessageId adalah indeks untuk IO_INTERRUPT_MESSAGE_INFO_ENTRY struktur di dalam IO_INTERRUPT_MESSAGE_INFO struktur. NDIS meneruskan penunjuk ke struktur IO_INTERRUPT_MESSAGE_INFO terkait di anggota MessageInfoTable ketika driver berhasil mendaftar untuk MSI dengan fungsi NdisMRegisterInterruptEx .
[in] SynchronizeFunction
Titik masuk driver Fungsi MiniportSynchronizeInterrupt .
[in] SynchronizeFunction
Titik masuk driver Fungsi MiniportSynchronizeInterrupt .
[in] SynchronizeContext
Penunjuk ke area konteks miniport-driver yang ditentukan yang diteruskan ke fungsi MiniportSynchronizeInterrupt di SynchronizeContext .
Nilai kembali
NdisMSynchronizeWithInterruptEx mengembalikan nilai Boolean yang dikembalikan MiniportSynchronizeInterrupt .
Keterangan
Driver miniport yang mendaftarkan interupsi dengan NdisMRegisterInterruptEx menggunakan NdisMSynchronizeWithInterruptEx. Nilai yang Pengembalian fungsi MiniportSynchronizeInterrupt juga dikembalikan oleh NdisMSynchronizeWithInterruptEx. Nilai yang disebarkan ini memberikan status kepada pemanggil.
Setiap fungsi driver miniport yang berbagi sumber daya dengan fungsi driver lain yang berjalan di DIRQL harus menggunakan NdisMSynchronizeWithInterruptEx untuk menyinkronkan aksesnya ke sumber daya tersebut. Fungsi MiniportSynchronizeInterrupt juga berjalan di DIRQL, dan sumber daya bersama dilindungi oleh kunci putar yang dialokasikan sistem. Dengan demikian, sumber daya bersama dilindungi dari akses simultan oleh fungsi MiniportInterrupt dan pemanggil.
NdisMSynchronizeWithInterruptEx melepaskan kunci spin sistem dan memulihkan IRQL asli pemanggilnya sebelum mengembalikan kontrol.
Untuk informasi selengkapnya tentang memperoleh dan merilis kunci spin NDIS, lihat Sinkronisasi dan Pemberitahuan di Driver Jaringan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h, Video.h) |
Pustaka | Ndis.lib |
IRQL | <= DIRQL |
Aturan kepatuhan DDI | NdisMDeregisterInterruptEx(ndis) |
Lihat juga
IO_INTERRUPT_MESSAGE_INFO_ENTRY MiniportSynchronizeInterruptSaran 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