Функция KsGenerateDataEvent (ks.h)
Функция KsGenerateDataEvent создает одно из стандартных уведомлений о событиях при указании структуры записи события и данных обратного вызова. Это позволяет устройству определить, когда следует создавать уведомления о событиях, но по-прежнему использовать эту вспомогательной функцию для выполнения фактического уведомления.
Синтаксис
KSDDKAPI NTSTATUS KsGenerateDataEvent(
[in] PKSEVENT_ENTRY EventEntry,
[in] ULONG DataSize,
[in] PVOID Data
);
Параметры
[in] EventEntry
Указывает структуру записи событий, которая ссылается на данные события. Сведения используются для определения типа уведомления. Если тип уведомления не является одним из предопределенных стандартов, возвращается ошибка. В случае одного события, не выполняющегося при выполнении, эта запись будет недопустимой при возвращении из функции. Таким образом, любой код, перечисляющий список событий, должен предварительно увеличиться для получения следующего события в списке перед передачей этого события в функцию.
[in] DataSize
Задает размер в байтах переданного параметра Data.
[in] Data
Указывает на передачу данных обратному вызову клиента. Эти данные копируются в один из предварительнораспределированных слотов буфера, настроенных при включении события. Размер данных должен быть меньше того, что было первоначально выделено или событие завершится ошибкой.
Возвращаемое значение
Функция KsGenerateDataEvent возвращает STATUS_SUCCESS в случае успешного выполнения или если ошибка не возвращает исключение или ошибку памяти.
Замечания
Предполагается, что блокировка списка событий была получена до вызова этой функции. Эта функция может привести к вызову RemoveHandler для записи события. Таким образом, функция не должна вызываться на более высоком уровне, чем уровень блокировки IRQ, или Remove функция должна иметь возможность обрабатывать вызов на таком уровне IRQ.
Эта функция специально предназначена для событий, которые передают данные обратно через обратный вызов клиенту.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ks.h (include Ks.h) |
библиотеки | Ks.lib |