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

IO_INTERRUPT_MESSAGE_INFO_ENTRY

MiniportInterrupt

MiniportSynchronizeInterrupt

NdisMRegisterInterruptEx