Bagikan melalui


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)

Lihat juga

EvtDriverDeviceAdd

WdfInterruptCreate

WdfInterruptSetExtendedPolicy