Fungsi ExAcquireResourceSharedLite (wdm.h)

Rutinitas ExAcquireResourceSharedLite memperoleh sumber daya yang diberikan untuk akses bersama oleh utas panggilan.

Sintaks

BOOLEAN ExAcquireResourceSharedLite(
  [in, out] PERESOURCE Resource,
  [in]      BOOLEAN    Wait
);

Parameter

[in, out] Resource

Penunjuk ke sumber daya untuk diperoleh.

[in] Wait

Menentukan perilaku rutin setiap kali sumber daya tidak dapat segera diperoleh. Jika TRUE, pemanggil dimasukkan ke dalam status tunggu hingga sumber daya dapat diperoleh. Jika FALSE, rutinitas segera kembali, terlepas dari apakah sumber daya dapat diperoleh.

Nilai kembali

Pemanggil dapat merilis sumber daya dengan memanggil ExReleaseResourceLite atau ExReleaseResourceForThreadLite.

ExAcquireResourceSharedLite mengembalikan TRUE jika (atau kapan) sumber daya diperoleh. Rutinitas ini mengembalikan FALSE jika input TungguFALSE dan akses bersama tidak dapat segera diberikan.

Keterangan

Apakah atau kapan pemanggil diberikan akses bersama ke sumber daya yang diberikan tergantung pada hal berikut:

  • Jika sumber daya saat ini tidak berwenang, akses bersama diberikan segera ke utas saat ini.

  • Jika penelepon sudah memperoleh sumber daya (untuk akses bersama atau eksklusif), utas saat ini diberikan jenis akses yang sama secara rekursif. Perhatikan bahwa melakukan panggilan ini tidak mengonversi akses eksklusif penelepon dari sumber daya tertentu ke akses bersama.

  • Jika sumber daya saat ini dimiliki sebagai dibagikan oleh utas lain dan tidak ada utas yang menunggu akses eksklusif ke sumber daya, akses bersama diberikan kepada pemanggil segera. Penelepon dimasukkan ke dalam status tunggu jika ada pelayan eksklusif.

  • Jika sumber daya saat ini dimiliki sebagai eksklusif oleh utas lain atau jika ada utas lain yang menunggu akses eksklusif dan pemanggil belum memiliki akses bersama ke sumber daya, utas saat ini dimasukkan ke dalam status tunggu (Tunggu diatur ke TRUE) atau ExAcquireResourceSharedLite mengembalikan FALSE.

Pengiriman APC kernel normal harus dinonaktifkan sebelum memanggil rutinitas ini. Nonaktifkan pengiriman APC kernel normal dengan memanggil KeEnterCriticalRegion. Pengiriman harus tetap dinonaktifkan sampai sumber daya dirilis, di mana sumber daya dapat diaktifkan kembali dengan memanggil KeLeaveCriticalRegion. Untuk informasi selengkapnya, lihat Menonaktifkan APC.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), IrqlExApcLte3(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

Lihat juga

ExAcquireResourceExclusiveLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExConvertExclusiveToSharedLite

ExGetExclusiveWaiterCount

ExGetSharedWaiterCount

ExInitializeResourceLite

ExIsResourceAcquiredSharedLite

ExReinitializeResourceLite

ExReleaseResourceForThreadLite