Функция обратного вызова 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, если вызов успешно перечисляет прерывания. Возможные возвращаемые значения ошибок включают следующий код состояния.

Возвращаемое значение Описание
STATUS_INVALID_PARAMETER
Элемент 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

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

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION