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) |