Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе Начало работы сUMDF.
Функция обратного вызова событий драйвера OnInterruptDisable отключает указанное аппаратное прерывание.
Синтаксис
WUDF_INTERRUPT_DISABLE WudfInterruptDisable;
HRESULT WudfInterruptDisable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
Параметры
[in] Interrupt
Указатель на интерфейс IWDFInterrupt.
[in] AssociatedDevice
Указатель на интерфейс IWDFDevice, используемый драйвером для вызова CreateInterrupt.
Возвращаемое значение
OnInterruptDisable должен возвращать S_OK, если операция завершится успешно. В противном случае обратный вызов должен возвращать один из кодов ошибок, определенных в Winerror.h.
Замечания
Чтобы зарегистрировать функцию обратного вызова OnInterruptDisable, драйвер должен поместить адрес функции обратного вызова в структуру WUDF_INTERRUPT_CONFIG перед вызовом IWDFDevice::CreateInterrupt.
Платформа вызывает функцию обратного вызова драйвера OnInterruptDisable каждый раз, когда устройство покидает рабочее состояние (D0). Кроме того, драйвер может вызвать платформу для вызова функции обратного вызова OnInterruptDisable путем вызова IWDFInterrupt::D доступных.
Перед вызовом функции обратного вызова OnInterruptDisable платформа вызывает функцию обратного вызова драйвера OnD0ExitPreInterruptsDisabled и получает блокировку прерываний в пользовательском режиме.
Дополнительные сведения об обработке прерываний в драйверах UMDF см. в доступ к оборудованию и обработке прерываний.
Примеры
Тип функции объявлен в Wudfinterrupt.h, как показано ниже.
typedef
__drv_functionClass(WUDF_INTERRUPT_DISABLE)
HRESULT
WUDF_INTERRUPT_DISABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_DISABLE *PFN_WUDF_INTERRUPT_DISABLE;
Чтобы определить функцию обратного вызова OnInterruptDisable с именем MyInterruptDisable, необходимо сначала указать объявление функции, требующее SDV и других средств проверки, как показано ниже.
WUDF_INTERRUPT_DISABLE MyInterruptDisable;
Затем реализуйте функцию обратного вызова следующим образом:
HRESULT
MyInterruptDisable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
Требования
| Требование | Ценность |
|---|---|
| завершение поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
| целевая платформа | Настольный |
| минимальная версия UMDF | 1.11 |
| заголовка | wudfinterrupt.h |