IMFASFIndexer::GetSeekPositionForValue-Methode (wmcontainer.h)
Ruft bei einer gewünschten Suchzeit den Offset ab, ab dem der Client mit dem Lesen von Daten beginnen soll.
Syntax
HRESULT GetSeekPositionForValue(
[in] const PROPVARIANT *pvarValue,
[in] ASF_INDEX_IDENTIFIER *pIndexIdentifier,
[out] QWORD *pcbOffsetWithinData,
[out] MFTIME *phnsApproxTime,
[out] DWORD *pdwPayloadNumberOfStreamWithinPacket
);
Parameter
[in] pvarValue
Der Wert des Indexeintrags, für den die Position abgerufen werden soll. Das Format dieses Werts variiert je nach Indextyp, der im Indexbezeichner angegeben wird. Für die zeitbasierte Indizierung ist der Variantentyp VT_I8 , und der Wert ist die gewünschte Suchzeit in 100 Nanosekundeneinheiten.
[in] pIndexIdentifier
Zeiger auf eine ASF_INDEX_IDENTIFIER Struktur, die die Streamnummer und den Indextyp identifiziert.
[out] pcbOffsetWithinData
Empfängt den Offset innerhalb des Datensegments des ASF-Datenobjekts. Der Offset ist in Bytes und relativ zum Anfang von Paket 0. Der Offset gibt die Ausgangsposition an, von der der Client mit dem Lesen aus dem Stream beginnen soll. Dieser Speicherort entspricht möglicherweise nicht genau der angeforderten Suchzeit.
Wenn bei der umgekehrten Wiedergabe nach der gewünschten Suchposition kein Keyframe vorhanden ist, empfängt dieser Parameter den Wert MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT. In diesem Fall sollte die Suchposition 1 Byte am Ende des Datensegments sein.
[out] phnsApproxTime
Empfängt den ungefähren Zeitstempel der Daten, die sich am Offset befinden, der im parameter pcbOffsetWithinData zurückgegeben wird. Die Genauigkeit dieses Werts entspricht dem Indizierungsintervall des ASF-Indexes, in der Regel etwa 1 Sekunde.
- Wenn der in pIndexIdentifier angegebene Indextyp GUID_NULL (Zeitindizierung) ist, kann dieser Parameter NULL sein.
- Für alle anderen Indextypen muss dieser Parameter NULL sein.
[out] pdwPayloadNumberOfStreamWithinPacket
Empfängt die Nutzlastnummer der Nutzlast, die die Informationen für den angegebenen Stream enthält. Pakete können mehrere Nutzlasten enthalten, die jeweils Daten für einen anderen Stream enthalten. Dieser Parameter kann NULL sein.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Die angeforderte Suchzeit liegt außerhalb des Bereichs. |
|
Es ist kein Index des angegebenen Typs für den angegebenen Stream vorhanden. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wmcontainer.h |
Bibliothek | Mfuuid.lib |