Функция обратного вызова POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS (pep_x.h)
Подпрограмма EnumerateUnmaskedInterrupts перечисляет источники прерываний, прерывания которых не маскируются и включены.
Синтаксис
POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS Pofxcallbackenumerateunmaskedinterrupts;
NTSTATUS Pofxcallbackenumerateunmaskedinterrupts(
[in, optional] POHANDLE PluginHandle,
[in, optional] ULONG EnumerateFlags,
[in] PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Callback,
[in] PVOID CallbackContext,
[in, out] PPEP_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
)
{...}
Параметры
[in, optional] PluginHandle
Значение POHANDLE. Если значение не равно NULL, этот параметр является дескриптором, который определяет подключаемый модуль расширения платформы (PEP). В этом случае EnumerateUnmaskedInterrupts перечисляет только прерывания, управляемые этим PEP. Если этот параметр имеет значение NULL, EnumerateUnmaskedInterrupts перечисляет все прерывания на аппаратной платформе, которые не маскируются и включены.
[in, optional] EnumerateFlags
В настоящее время флаги не определены. Задайте для этого параметра значение PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0).
[in] Callback
Указатель на подпрограмму обратного вызова EnumerateInterruptSource , реализованную вызывающим методом. Эта подпрограмма обратного вызова вызывается один раз для каждого источника прерывания, прерывание которого не маскируется. Эти обратные вызовы выполняются синхронно до возврата подпрограммы EnumerateUnmaskedInterrupts .
[in] CallbackContext
Указатель на контекст обратного вызова. Этот указатель передается в качестве параметра в подпрограмму обратного вызова EnumerateInterruptSource , на которую указывает параметр Callback . Содержимое контекста обратного вызова определяется PEP и непрозрачно для платформы управления питанием (PoFx).
[in, out] InterruptInformation
Указатель на буфер, выделенный вызывающим объектом, размер которого не менее sizeof(PEP_UNMASKED_INTERRUPT_INFORMATION) байтов. EnumerateUnmaskedInterrupts будет использовать этот буфер для передачи сведений о прерываниях в PEP во время вызовов процедуры обратного вызова EnumerateInterruptSource PEP.
Возвращаемое значение
EnumerateUnmaskedInterrupts возвращает STATUS_SUCCESS, если вызов успешно перечисляет прерывания. Возможные возвращаемые значения ошибок включают следующий код состояния.
Возвращаемое значение | Описание |
---|---|
|
Элемент Size или Version структуры PEP_UNMASKED_INTERRUPT_INFORMATION содержит недопустимое значение. |
Комментарии
Эта подпрограмма реализуется PoFx и вызывается PEP. Элемент EnumerateUnmaskedInterrupts структуры PEP_KERNEL_INFORMATION_STRUCT_V3 является указателем на подпрограмму EnumerateUnmaskedInterrupts .
Перед тем как платформа перейдет в состояние питания системы, в котором контроллеры прерываний отключены, PEP может вызвать EnumerateUnmaskedInterrupts , чтобы получить сведения, необходимые для правильной настройки контроллеров пробуждения для прерываний, которые должны оставаться без маски.
PEP может вызывать эту подпрограмму в IRQL <= HIGH_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 10. |
Целевая платформа | Windows |
Header | pep_x.h (включая Pep_x.h) |
IRQL | <= HIGH_LEVEL |