Freigeben über


WdfInterruptSetPolicy-Funktion (wdfinterrupt.h)

[Gilt für KMDF und UMDF]

Die WdfInterruptSetPolicy Methode gibt die Interruptpriorität, die Prozessoraffinität und die Affinitätsrichtlinie für einen angegebenen Interrupt an.

Syntax

void WdfInterruptSetPolicy(
  [in] WDFINTERRUPT           Interrupt,
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

Die Parameter

[in] Interrupt

Ein Handle zu einem Framework-Interruptobjekt.

[in] Policy

Ein WDF_INTERRUPT_POLICY-typed-Enumerator, der eine Prozessoraffinitätsrichtlinie für den Interrupt angibt.

[in] Priority

Ein WDF_INTERRUPT_PRIORITY-typed-Enumerator, der eine Priorität für den Interrupt angibt.

[in] TargetProcessorSet

Ein KAFFINITY-wert-typed, der eine Prozessoraffinität für den Interrupt angibt, wenn der parameter Policy auf WdfIrqPolicySpecifiedProcessorsfestgelegt ist.

Rückgabewert

Nichts

Bemerkungen

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Mit Windows Vista und höheren Versionen des Betriebssystems können Treiber die Priorität, die Prozessoraffinität und die Affinitätsrichtlinie eines Interrupts angeben. Informationen zum Außerkraftsetzen der Werte, die WdfInterruptSetPolicy- festlegen, finden Sie unter Interrupt Affinity and Priority.

Wenn ein Treiber auf einer Früheren Betriebssystemversion als Windows Vista ausgeführt wird, ignoriert das Framework die Werte, die der Treiber angibt, wenn er WdfInterruptSetPolicyaufruft.

Weitere Informationen zu Registrierungswerten und INF-Abschnitten, die die Priorität, die Prozessoraffinität und die Affinitätsrichtlinie angeben, finden Sie unter Interrupt Affinity and Priority.

Wenn ein Treiber WdfInterruptSetPolicyaufruft, erfolgt dies in der Regel in seiner EvtDriverDeviceAdd Rückruffunktion nach dem Aufrufen WdfInterruptCreate.

Wenn der Treiber Unterbrechungen in EvtDevicePrepareHardware-erstellt, verwenden Sie nicht WdfInterruptSetPolicy oder WdfInterruptSetExtendedPolicy. Wenden Sie stattdessen die Richtlinie in EvtDeviceFilterAddResourceRequirementsan, indem Sie die Interrupt-Ressourcenanforderung direkt bearbeiten, die diese Rückruffunktion in der IoResourceRequirementsList Parameter empfängt.

Weitere Informationen zum Behandeln von Unterbrechungen in frameworkbasierten Treibern finden Sie unter Behandeln von Hardware-Interrupts.

Beispiele

Im folgenden Codebeispiel wird einem Prozessor 0 mit normaler Priorität ein Geräteunterbruch zugewiesen.

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

WdfInterruptSetPolicy(
                      Interrupt,
                      WdfIrqPolicySpecifiedProcessors,
                      WdfIrqPriorityNormal,
                      AFFINITY_MASK(0)
                      );

Anforderungen

Anforderung Wert
Zielplattform universell
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Kopfzeile wdfinterrupt.h (einschließen Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf)

Siehe auch

EvtDriverDeviceAdd

WdfInterruptCreate

WdfInterruptSetExtendedPolicy-