Fungsi WdfInterruptSetPolicy (wdfinterrupt.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfInterruptSetPolicy menentukan prioritas interupsi, afinitas prosesor, dan kebijakan afinitas untuk interupsi tertentu.
Sintaks
void WdfInterruptSetPolicy(
[in] WDFINTERRUPT Interrupt,
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Parameter
[in] Interrupt
Handel ke objek interupsi kerangka kerja.
[in] Policy
Enumerator jenis WDF_INTERRUPT_POLICY yang menentukan kebijakan afinitas prosesor untuk interupsi.
[in] Priority
Enumerator jenis WDF_INTERRUPT_PRIORITY yang menentukan prioritas untuk interupsi.
[in] TargetProcessorSet
Nilai berjenis KAFFINITY yang menentukan afinitas prosesor untuk interupsi, jika parameter Kebijakan diatur ke WdfIrqPolicySpecifiedProcessors.
Nilai kembali
Tidak ada
Keterangan
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Windows Vista dan versi sistem operasi yang lebih baru memungkinkan driver menentukan prioritas interupsi, afinitas prosesor, dan kebijakan afinitas. Untuk informasi tentang cara menggunakan registri untuk mengambil alih nilai yang ditetapkan WdfInterruptSetPolicy , lihat Mengganggu Afinitas dan Prioritas.
Jika driver berjalan pada versi sistem operasi yang lebih lama dari Windows Vista, kerangka kerja mengabaikan nilai yang ditentukan driver ketika memanggil WdfInterruptSetPolicy.
Untuk informasi selengkapnya tentang nilai registri dan bagian INF yang menentukan prioritas interupsi, afinitas prosesor, dan kebijakan afinitas, lihat Mengganggu Afinitas dan Prioritas.
Jika driver memanggil WdfInterruptSetPolicy, driver biasanya melakukannya dalam fungsi panggilan balik EvtDriverDeviceAdd , setelah memanggil WdfInterruptCreate.
Jika driver Anda membuat interupsi di EvtDevicePrepareHardware, jangan gunakan WdfInterruptSetPolicy atau WdfInterruptSetExtendedPolicy. Sebagai gantinya, terapkan kebijakan di EvtDeviceFilterAddResourceRequirements, dengan langsung memanipulasi persyaratan sumber daya interupsi yang diterima fungsi panggilan balik ini dalam parameter IoResourceRequirementsList-nya .
Untuk informasi selengkapnya tentang menangani gangguan dalam driver berbasis kerangka kerja, lihat Menangani Gangguan Perangkat Keras.
Contoh
Contoh kode berikut menetapkan perangkat yang mengganggu prosesor 0, dengan prioritas normal.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WdfInterruptSetPolicy(
Interrupt,
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfinterrupt.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf) |