Структура 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) |