Поделиться через


Метод IWDFInterrupt::SetPolicy (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]

Метод SetPolicy задает приоритет прерывания, сходство процессора и политику сходства для указанного прерывания.

Синтаксис

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

Параметры

[in] Policy

Перечислитель с типом WDF_INTERRUPT_POLICY, указывающий политику сходства процессора для прерывания.

[in] Priority

Перечислитель WDF_INTERRUPT_PRIORITY, указывающий приоритет прерывания.

[in] TargetProcessorSet

Значение типа KAFFINITY, указывающее сходство процессора для прерывания, если параметр Policy имеет значение WdfIrqPolicySpecifiedProcessors.

Возвращаемое значение

None

Remarks

Начиная с Windows Vista драйверы могут указывать приоритет прерывания, сходство процессора и политику сходства. Дополнительные сведения о том, как использовать реестр для переопределения значений, заданных SetPolicy , см. в разделе Сходство прерываний и приоритет.

Если драйвер работает в версии операционной системы, более ранней, чем Windows Vista, платформа игнорирует значения, заданные драйвером при вызове SetPolicy.

Дополнительные сведения о значениях реестра и разделах INF, определяющих приоритет прерывания, сходство процессора и политику сходства, см. в разделе Сходство прерываний и приоритет.

Если драйвер вызывает SetPolicy, он должен сделать это в своей функции обратного вызова IDriverEntry::OnDeviceAdd после вызова метода IWDFDevice3::CreateInterrupt .

Дополнительные сведения об обработке прерываний в драйверах UMDF см. в разделе Доступ к оборудованию и обработка прерываний.

Примеры

В следующем примере кода прерывание устройства назначается процессору 0 с обычным приоритетом.

#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))

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

Требования

Требование Значение
Дата окончания поддержки Недоступно в UMDF 2.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Минимальная версия UMDF 1.11
Верхняя часть wudfddi.h
DLL WUDFx.dll

См. также раздел

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY