Функция 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
Используется для синхронизации доступа к элементу в списке. После доступа к элементу он помечается как удаляемый, поэтому последующие запросы на удаление завершаются ошибкой. Затем блокировка освобождается после вызова функции удаления, если она имеется. Функция удаления должна синхронизироваться с созданием событий перед фактическим удалением элемента из списка.
Возвращаемое значение
None
Remarks
Функция KsFreeEventList вызывает обработчик удаления, а затем вызывает KsDiscardEvent для каждого события. В нем не предполагается, что вызывающий объект является владельцем события.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ks.h (включая Ks.h) |
Библиотека | Ks.lib |