KSQUERYBUFFER 结构 (ks.h)
查询具有KSEVENT_TYPE_QUERYBUFFER的事件上可用的未完成缓冲区时,使用 KSQUERYBUFFER 结构。
语法
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 | 生活是美好的。 |
要求
要求 | 值 |
---|---|
Header | ks.h (包括 Ks.h) |