Freigeben über


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

Siehe auch

IWDFInterrupt-

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT