Metode IWDFInterrupt::SetExtendedPolicy (wudfddi.h)

[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]

Metode SetExtendedPolicy menentukan prioritas interupsi, afinitas prosesor, kebijakan afinitas, dan grup prosesor untuk interupsi tertentu.

Sintaks

void SetExtendedPolicy(
  [in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);

Parameter

[in] PolicyAndGroup

Penunjuk ke struktur WDF_INTERRUPT_EXTENDED_POLICY yang dialokasikan pemanggil yang sebelumnya telah diinisialisasi driver dengan memanggil WDF_INTERRUPT_EXTENDED_POLICY_INIT.

Nilai kembali

Tidak ada

Keterangan

Metode ini setara dengan WdfInterruptSetExtendedPolicy KMDF. Lihat bagian Keterangan dari WdfInterruptSetExtendedPolicy untuk informasi selengkapnya tentang metode ini.

Jika driver berjalan pada versi sistem operasi yang lebih lama dari Windows 7, kerangka kerja mengabaikan nilai yang ditentukan driver untuk nomor grup prosesor saat memanggil SetExtendedPolicy.

Untuk informasi selengkapnya tentang penanganan gangguan pada driver UMDF, lihat Mengakses Interupsi Perangkat Keras dan Penanganan.

Contoh

Contoh kode berikut memanggil WDF_INTERRUPT_EXTENDED_POLICY_INIT untuk menginisialisasi struktur WDF_INTERRUPT_EXTENDED_POLICY ; menetapkan nilai untuk kebijakan, prioritas, dan set prosesor target; dan memanggil SetExtendedPolicy. Contoh menetapkan prioritas normal untuk gangguan dan menetapkan interupsi ke prosesor 0 dalam grup prosesor 2.


IWDFInterrupt* pInterrupt;

#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))

WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;

WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;

pInterrupt->SetExtendedPolicy(
                              &myExtendedPolicy
 );

Persyaratan

Persyaratan Nilai
Akhir dukungan Tidak tersedia di UMDF 2.0 dan yang lebih baru.
Target Platform Desktop
Versi UMDF minimum 1.11
Header wudfddi.h
DLL WUDFx.dll

Lihat juga

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT