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. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die SetExtendedPolicy--Methode gibt die Unterbrechungsprioritä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_INITinitialisiert hat.
Rückgabewert
Nichts
Bemerkungen
Diese Methode entspricht dem WdfInterruptSetExtendedPolicy-von KMDF. Weitere Informationen zu dieser Methode finden Sie im Abschnitt "Hinweise" WdfInterruptSetExtendedPolicy.
Wenn ein Treiber unter einer Betriebssystemversion ausgeführt wird, die älter als Windows 7 ist, ignoriert das Framework den Wert, den der Treiber für die Prozessorgruppennummer angibt, wenn er SetExtendedPolicyaufruft.
Weitere Informationen zum Behandeln von Unterbrechungen 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 die Richtlinien-, Prioritäts- und Zielprozessorsätze fest; und ruft SetExtendedPolicyauf. Das Beispiel legt die normale Priorität für den Interrupt fest und weist den Interrupt prozessor 0 in der Prozessorgruppe 2 zu.
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 |
Mindest-UMDF-Version | 1.11 |
Header- | wudfddi.h |
DLL- | WUDFx.dll |