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


Функция 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

См. также

KSBUFFER_ITEM