Freigeben über


IWDFInterrupt::SetPolicy-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 SetPolicy--Methode gibt die Interruptpriorität, die Prozessoraffinität und die Affinitätsrichtlinie für einen angegebenen Interrupt an.

Syntax

void SetPolicy(
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

Parameter

[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

Ab Windows Vista können Treiber die Priorität, die Prozessoraffinität und die Affinitätsrichtlinie eines Interrupts angeben. Weitere Informationen zur Verwendung der Registrierung zum Überschreiben der Werte, die SetPolicy- festlegen, finden Sie unter Interrupt Affinity and Priority.

Wenn ein Treiber auf einer Betriebssystemversion ausgeführt wird, die älter als Windows Vista ist, ignoriert das Framework die Werte, die der Treiber angibt, wenn er SetPolicyaufruft.

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 SetPolicyaufruft, muss er dies in seinem IDriverEntry::OnDeviceAdd Rückruffunktion tun, nachdem die IWDFDevice3::CreateInterrupt-Methode aufgerufen wurde.

Weitere Informationen zum Behandeln von Unterbrechungen in UMDF-Treibern finden Sie unter Zugreifen auf Hardware und Behandeln von 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))

pIWdfInterrupt->SetPolicy(
                          WdfIrqPolicySpecifiedProcessors,
                          WdfIrqPriorityNormal,
                          AFFINITY_MASK(0)
                          );

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-

KAFFINITY-

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY