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


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

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

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

Синтаксис

void SetExtendedPolicy(
  [in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);

Параметры

[in] PolicyAndGroup

Указатель на структуру, выделенную вызывающим объектом WDF_INTERRUPT_EXTENDED_POLICY , которая ранее инициализирована драйвером путем вызова WDF_INTERRUPT_EXTENDED_POLICY_INIT.

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

None

Remarks

Этот метод эквивалентен WdfInterruptSetExtendedPolicy KMDF. Дополнительные сведения об этом методе см. в разделе Примечания статьи WdfInterruptSetExtendedPolicy .

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

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

Примеры

В следующем примере кода вызывается WDF_INTERRUPT_EXTENDED_POLICY_INIT для инициализации структуры WDF_INTERRUPT_EXTENDED_POLICY ; задает значения для политики, приоритета и целевого набора процессоров; и вызывает SetExtendedPolicy. В примере задается обычный приоритет для прерывания и назначается процессору 0 в группе процессоров 2.


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
 );

Требования

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

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

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT