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


структура WUDF_INTERRUPT_CONFIG (wudfinterrupt.h)

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

Структура WUDF_INTERRUPT_CONFIG содержит сведения о конфигурации прерывания устройства.

Синтаксис

typedef struct _WUDF_INTERRUPT_CONFIG {
  ULONG                           Size;
  WDF_TRI_STATE                   ShareVector;
  BOOLEAN                         AutomaticSerialization;
  PFN_WUDF_INTERRUPT_ISR          OnInterruptIsr;
  PFN_WUDF_INTERRUPT_ENABLE       OnInterruptEnable;
  PFN_WUDF_INTERRUPT_DISABLE      OnInterruptDisable;
  PFN_WUDF_INTERRUPT_WORKITEM     OnInterruptWorkItem;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;

Члены

Size

Размер данной структуры (в байтах).

ShareVector

WDF_TRI_STATE типизированное значение. Если это значение равно WdfTrue, можно совместно использовать вектор прерываний. Если значение равно WdfFalse, вектор прерываний не может быть общим. Если значение — WdfDefault и прерывание активируется на уровне, диспетчер Plug and Play использует значение водителя шины. Если значение равно WdfDefault и прерывание не активируется на уровне, вектор прерывания нельзя использовать совместно.

AutomaticSerialization

Логическое значение, которое, если значение TRUE, указывает, что платформа синхронизирует выполнение функции обратного вызова OnInterruptWorkItem объекта прерывания с другими функциями обратного вызова, которые используют функцию синхронизации обратного вызова платформы. Дополнительные сведения см. в разделе "Примечания".

OnInterruptIsr

Указатель на функцию обратного вызова OnInterruptIsr драйвера или NULL.

OnInterruptEnable

Указатель на функцию обратного вызова OnInterruptEnable драйвера или NULL.

OnInterruptDisable

Указатель на функцию обратного вызова OnInterruptDisable драйвера или NULL.

OnInterruptWorkItem

Указатель на функцию обратного вызова OnInterruptWorkItem драйвера или NULL.

InterruptRaw

Указатель на структуру CM_PARTIAL_RESOURCE_DESCRIPTOR , описывающую необработанные ресурсы , назначенные системой прерыванию. Этот элемент используется только в том случае, если прерывание создается в обратном вызове OnPrepareHardware .

InterruptTranslated

Указатель на структуру CM_PARTIAL_RESOURCE_DESCRIPTOR , описывающую переведенные ресурсы , назначенные системой прерыванию. Этот элемент используется только в том случае, если прерывание создается в обратном вызове OnPrepareHardware .

Комментарии

Структура WUDF_INTERRUPT_CONFIG используется в качестве входных данных для IWDFDevice3::CreateInterrupt.

Чтобы инициализировать структуру WUDF_INTERRUPT_CONFIG , драйвер должен сначала вызвать WUDF_INTERRUPT_CONFIG_INIT , а затем заполнить элементы структуры, которые WUDF_INTERRUPT_CONFIG_INIT не инициализирует.

Прежде чем задать для параметра AutomaticSerialization значение TRUE, драйвер должен вызвать IWDFDeviceInitialize::SetLockingConstraint с параметром LockType , равным WdfDeviceLevel.

Драйвер должен включать Wudfwdm.h, который содержит определение CM_PARTIAL_RESOURCE_DESCRIPTOR.

UMDF поддерживает прерывания на основе строк с пограничным триггером и прерывания с сигналом сообщения (MSI) во всех операционных системах, поддерживаемых платформой. Так как ресурсы прерываний этих типов не являются общими, драйвер, который их использует, должен задать для элемента ShareVector этой структуры значение WdfFalse или WdfUseDefault. Если драйвер указывает недопустимое значение ShareVector , драйвер не запускается.

Требования

Требование Значение
Минимальная версия UMDF 1.11
Верхняя часть wudfinterrupt.h

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

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT