Функция KsEnableEvent (ks.h)

Функция KsEnableEvent включает события, запрашиваемые через IOCTL_KS_ENABLE_EVENT. Он отвечает на все идентификаторы событий, определенные наборами. Эту функцию можно вызывать только в PASSIVE_LEVEL.

Синтаксис

KSDDKAPI NTSTATUS KsEnableEvent(
  [in]           PIRP              Irp,
  [in]           ULONG             EventSetsCount,
  [in]           const KSEVENT_SET *EventSet,
  [in, out]      PLIST_ENTRY       EventsList,
  [in, optional] KSEVENTS_LOCKTYPE EventsFlags,
  [in, optional] PVOID             EventsLock
);

Параметры

[in] Irp

Указывает IRP с обрабатываемым запросом на включение. Объект файла, связанный с IRP, сохраняется вместе с событием для последующего сравнения при отключении события.

[in] EventSetsCount

Указывает количество передаваемых структур набора событий.

[in] EventSet

Указывает указатель на список сведений о наборе событий.

[in, out] EventsList

Если событие включения KSEVENT_SET. AddHandler для набора событий имеет значение NULL. Он должен указывать на заголовок списка KSEVENT_ENTRY элементов, к которым должно быть добавлено событие. Эта функция предполагает единый список по крайней мере для подмножества событий.

[in, optional] EventsFlags

Задает флаги KSEVENTS_LOCKTYPE , указывающие тип блокировки исключения, которая будет использоваться при доступе к списку событий, если таковой имеется. Если флаг не установлен, блокировка не выполняется. Если обработчик уже указан, этот параметр игнорируется.

[in, optional] EventsLock

Если KSEVENT_SET. AddHandler для набора событий, содержащего включаемое событие, имеет значение NULL, то используется для синхронизации доступа к списку. Это значение может иметь значение NULL , если в EventsFlags не установлен флаг.

Возвращаемое значение

Функция KsEnableEvent возвращает STATUS_SUCCESS в случае успешного выполнения или ошибку, специфичную для события, которое включено в случае сбоя. Функция всегда задает IO_STATUS_BLOCK. Информационное поле ПИРП. Элемент IoStatus в IRP равен нулю. Он не задает IO_STATUS_BLOCK. Поле состояния и не завершает IRP.

Комментарии

Мини-накопители не вызывают KsEnableEvent. Эту подпрограмму должен вызывать только чистый драйвер KS или драйвер класса.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ks.h (включая Ks.h)
Библиотека Ks.lib

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

KsDisableEvent