Метод IMFASFIndexer::GetSeekPositionForValue (wmcontainer.h)
Учитывая требуемое время поиска, получает смещение, с которого клиент должен начать чтение данных.
Синтаксис
HRESULT GetSeekPositionForValue(
[in] const PROPVARIANT *pvarValue,
[in] ASF_INDEX_IDENTIFIER *pIndexIdentifier,
[out] QWORD *pcbOffsetWithinData,
[out] MFTIME *phnsApproxTime,
[out] DWORD *pdwPayloadNumberOfStreamWithinPacket
);
Параметры
[in] pvarValue
Значение записи индекса, для которой требуется получить позицию. Формат этого значения зависит от типа индекса, указанного в идентификаторе индекса. Для индексирования на основе времени типом variant является VT_I8 , а значением является требуемое время поиска в 100 наносекундных единицах.
[in] pIndexIdentifier
Указатель на структуру ASF_INDEX_IDENTIFIER , определяющую номер потока и тип индекса.
[out] pcbOffsetWithinData
Получает смещение в сегменте данных объекта данных ASF. Смещение равно байтам и относительно начала пакета 0. Смещение дает начальную точку, с которой клиент должен начать чтение из потока. Это расположение может не соответствовать запрошенному времени поиска.
Для обратного воспроизведения, если после нужной позиции поиска не существует ключевого кадра, этот параметр получает значение MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT. В этом случае позиция поиска должна составлять 1 байт в конце сегмента данных.
[out] phnsApproxTime
Получает приблизительную метку времени данных, расположенных в смещении, возвращенном в параметре pcbOffsetWithinData . Точность этого значения равна интервалу индексирования индекса ASF, обычно около 1 секунды.
- Если тип индекса, указанный в pIndexIdentifier, GUID_NULL (индексирование времени), этот параметр может иметь значение NULL.
- Для всех остальных типов индексов этот параметр должен иметь значение NULL.
[out] pdwPayloadNumberOfStreamWithinPacket
Получает номер полезных данных, содержащих сведения для указанного потока. Пакеты могут содержать несколько полезных данных, каждый из которых содержит данные для отдельного потока. Этот параметр может принимать значение NULL.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Запрашиваемое время поиска выходит за пределы диапазона. |
|
Для указанного потока не существует индекса указанного типа. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | wmcontainer.h |
Библиотека | Mfuuid.lib |