Поделиться через


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

Функция KsFreeEventList обрабатывает освобождение всех событий из указанного списка с предположением, что эти события состоят из структур KSEVENT_ENTRY. Эта функция может вызываться только в PASSIVE_LEVEL.

Синтаксис

KSDDKAPI VOID KsFreeEventList(
  [in]      PFILE_OBJECT      FileObject,
  [in, out] PLIST_ENTRY       EventsList,
  [in]      KSEVENTS_LOCKTYPE EventsFlags,
  [in]      PVOID             EventsLock
);

Параметры

[in] FileObject

Указывает объект файла, переданный функции удаления для сведений о контексте. Связанный с файлом объект используется для сравнения с исходным объектом файла при включении события. Это позволяет использовать один список событий для нескольких клиентов, различаемых объектами файлов.

[in, out] EventsList

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

[in] EventsFlags

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

[in] EventsLock

Используется для синхронизации доступа к элементу в списке. После доступа к элементу он помечается как удаленный, поэтому последующие запросы на удаление завершаются сбоем. Затем блокировка освобождается после вызова функции удаления, если она есть. Функция удаления должна синхронизироваться с созданием событий, прежде чем фактически удалить элемент из списка.

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

Никакой

Замечания

Функция KsFreeEventList вызывает обработчик удаления, а затем вызывает KsDiscardEvent для каждого события. Предполагается, что вызывающий объект является владельцем события.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ks.h (include Ks.h)
библиотеки Ks.lib

См. также

KsDiscardEvent