структура 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 |