Fungsi KeSetImportanceDpc (wdm.h)

Rutinitas KeSetImportanceDpc menentukan seberapa cepat rutinitas DPC dijalankan.

Sintaks

void KeSetImportanceDpc(
  [in, out] PRKDPC          Dpc,
  [in]      KDPC_IMPORTANCE Importance
);

Parameter

[in, out] Dpc

Arahkan ke objek DPC pemanggil, yang sudah diinisialisasi KeInitializeDpc .

[in] Importance

Menentukan salah satu nilai yang ditentukan sistem berikut untuk menentukan perilaku KeInsertQueueDpc dan IoRequestDpc saat salah satu rutinitas digunakan untuk mengantre DPC.

LowImportance

Tempatkan DPC di akhir antrean DPC, dan jangan mulai memproses antrean.

MediumImportance

Tempatkan DPC di akhir antrean DPC. Jika DPC ditetapkan ke antrean DPC prosesor saat ini, mulailah memproses antrean segera. MediumImportance adalah nilai default untuk Kepentingan.

MediumHighImportance

Tempatkan DPC di akhir antrean DPC, dan mulai pemrosesan antrean segera. MediumHighImportance hanya tersedia di Windows Vista dan versi Windows yang lebih baru.

HighImportance

Tempatkan DPC di awal antrean DPC, dan mulai pemrosesan antrean segera.

Nilai kembali

Tidak ada

Keterangan

Rutinitas KeSetImportanceDpc memengaruhi seberapa cepat DPC dijalankan setelah diantrekan dengan menentukan:

  • Lokasi DPC dalam antrean DPC. Biasanya, rutinitas KeInsertQueueDpc dan IoRequestDpc menempatkan DPC di akhir antrean. Jika driver pertama kali memanggil KeSetImportanceDpc dengan Kepentingan = HighImportance, KeInsertQueueDpc dan IoRequestDpc akan menempatkan DPC di awal antrean.
  • Ketika sistem mulai memproses antrean DPC. Biasanya, KeInsertQueueDpc dan IoRequestDpc segera mulai memproses antrean DPC untuk prosesor saat ini. Driver dapat menentukan nilai yang berbeda untuk Kepentingan untuk mengubah perilaku ini.
Secara default, DPC ditetapkan ke antrean DPC untuk prosesor saat ini, jadi menentukan MediumImportance atau MediumHighImportance for Importance memiliki efek yang sama. Namun, driver dapat menggunakan KeSetTargetProcessorDpc untuk mengubah prosesor tempat DPC akan ditetapkan.

Untuk Windows Vista dan versi sistem operasi Windows yang lebih baru, Anda dapat menggunakan KeSetImportanceDpc untuk DPC utas. Jika penelepon menetapkan Kepentingan ke HighImportance, DPC ditempatkan di awal antrean; jika tidak, itu ditempatkan di akhir. Rutinitas tidak mempengaruhi ketika antrean DPC utas diproses. DPC utas selalu diproses oleh utas khusus di IRQL = PASSIVE_LEVEL. Untuk informasi selengkapnya tentang DPC utas, lihat Pengantar DPC Utas.

Perhatikan bahwa driver harus memanggil KeSetImportanceDpc sebelum memanggil KeInsertQueueDpc dan IoRequestDpc untuk memiliki efek apa pun.

Untuk informasi selengkapnya tentang cara sistem memproses antrean DPC, lihat Organisasi Antrean DPC.

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 Tingkat apa pun

Lihat juga

IoRequestDpc

KeInitializeDpc

KeInsertQueueDpc

KeSetTargetProcessorDpc

KeSynchronizeExecution