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


Структура KSQUERYBUFFER (ks.h)

Структура KSQUERYBUFFER используется при запросе на выдающиеся буферы, доступные для события с KSEVENT_TYPE_QUERYBUFFER.

Синтаксис

typedef struct {
  KSEVENT      Event;
  PKSEVENTDATA EventData;
  PVOID        Reserved;
} KSQUERYBUFFER, *PKSQUERYBUFFER;

Члены

Event

Указывает описание исходного события, а флаг KSEVENT_TYPE_QUERYBUFFER вместо флага KSEVENT_TYPE_ENABLEBUFFERED.

EventData

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

Reserved

Не используется и присваивает значение нулю.

Замечания

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

Необходимую длину буфера можно запросить, предоставив выходной буфер нулевой длины. Размер буфера возвращается в параметре BytesReturned с состоянием предупреждения STATUS_BUFFER_OVERFLOW.

Кроме того, запрос возвращает одно из следующих значений состояния:

Возвращаемое значение Описание
STATUS_NOT_FOUND событие не найдено
STATUS_INVALID_PARAMETER он не буферичен
STATUS_NO_MORE_ENTRIES буферы не были доступны
STATUS_BUFFER_TOO_SMALL Размер буфера был недостаточным.
STATUS_SUCCESS жизнь хороша.

Требования

Требование Ценность
заголовка ks.h (include Ks.h)

См. также

KSBUFFER_ITEM

KSEVENT