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

Weitere Informationen

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT