NDIS_WAIT_FOR_MUTEX makro (ndis.h)

Makro NDIS_WAIT_FOR_MUTEX menempatkan utas saat ini ke dalam status tunggu hingga objek mutex yang ditentukan diatur ke status sinyal.

Sintaks

void NDIS_WAIT_FOR_MUTEX(
   _M_
);

Parameter

_M_

Penunjuk ke objek mutex jenis NDIS_MUTEX yang diinisialisasi. Pemanggil menginisialisasi objek mutex dalam panggilan sebelumnya ke makro NDIS_INIT_MUTEX . NDIS_MUTEX adalah pembungkus untuk jenis KMUTEX.

Nilai kembali

NDIS_WAIT_FOR_MUTEX mengembalikan STATUS_SUCCESS jika operasi berhasil diselesaikan. Jika tidak, kode kesalahan NTSTATUS akan dikembalikan.

Keterangan

Driver jaringan NDIS harus menggunakan makro NDIS_WAIT_FOR_MUTEX untuk menunggu mutex beralih ke status yang disinyalir.

Driver tidak dapat menunggu interval waktu bukan nol pada objek mutex pada IRQL yang dinaikkan atau dalam konteks utas arbitrer (yaitu, konteks utas apa pun saat ini ketika fungsi driver dipanggil).

NDIS_WAIT_FOR_MUTEX memeriksa status objek mutex saat ini untuk menentukan apakah operasi tunggu dapat segera dipenuhi. Jika operasi dapat segera dipenuhi, pembaruan yang diperlukan dibuat untuk objek mutex. Jika tidak, utas saat ini dalam status menunggu, dan utas baru dipilih untuk eksekusi pada prosesor saat ini.

Makro ini adalah pembungkus NDIS untuk rutinitas KeWaitForSingleObject .

Penelepon NDIS_WAIT_FOR_MUTEX harus berjalan di IRQL == PASSIVE_LEVEL dan dalam konteks utas nonarbitrer.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)
Aturan kepatuhan DDI Irql_Synch_Function(ndis)

Lihat juga

KeWaitForsingleObject

NDIS_INIT_MUTEX

NDIS_RELEASE_MUTEX