IWDFInterrupt::SetExtendedPolicy-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die SetExtendedPolicy-Methode gibt die Interruptpriorität, Prozessoraffinität, Affinitätsrichtlinie und Prozessorgruppe für einen angegebenen Interrupt an.
Syntax
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Parameter
[in] PolicyAndGroup
Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_INTERRUPT_EXTENDED_POLICY Struktur, die der Treiber zuvor durch Aufrufen von WDF_INTERRUPT_EXTENDED_POLICY_INIT initialisiert hat.
Rückgabewert
Keine
Bemerkungen
Diese Methode entspricht der WdfInterruptSetExtendedPolicy von KMDF. Weitere Informationen zu dieser Methode finden Sie im Abschnitt "Hinweise" von WdfInterruptSetExtendedPolicy .
Wenn ein Treiber auf einer früheren Betriebssystemversion als Windows 7 ausgeführt wird, ignoriert das Framework den Wert, den der Treiber für die Prozessorgruppennummer angibt, wenn es SetExtendedPolicy aufruft.
Weitere Informationen zur Behandlung von Interrupts in UMDF-Treibern finden Sie unter Zugreifen auf Hardware und Behandeln von Interrupts.
Beispiele
Im folgenden Codebeispiel wird WDF_INTERRUPT_EXTENDED_POLICY_INIT aufgerufen, um eine WDF_INTERRUPT_EXTENDED_POLICY-Struktur zu initialisieren. legt Werte für den Richtlinien-, Prioritäts- und Zielprozessorsatz fest; und ruft SetExtendedPolicy auf. Im Beispiel wird die normale Priorität für den Interrupt festgelegt und der Interrupt dem Prozessor 0 in Prozessorgruppe 2 zugewiesen.
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
);
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.11 |
Kopfzeile | wudfddi.h |
DLL | WUDFx.dll |