Metodo IMFASFIndexer::GetSeekPositionForValue (wmcontainer.h)
Dato un tempo di ricerca desiderato, ottiene l'offset da cui il client deve iniziare a leggere i dati.
Sintassi
HRESULT GetSeekPositionForValue(
[in] const PROPVARIANT *pvarValue,
[in] ASF_INDEX_IDENTIFIER *pIndexIdentifier,
[out] QWORD *pcbOffsetWithinData,
[out] MFTIME *phnsApproxTime,
[out] DWORD *pdwPayloadNumberOfStreamWithinPacket
);
Parametri
[in] pvarValue
Valore della voce di indice per cui ottenere la posizione. Il formato di questo valore varia a seconda del tipo di indice, specificato nell'identificatore di indice. Per l'indicizzazione basata sul tempo, il tipo variant è VT_I8 e il valore è il tempo di ricerca desiderato, in 100-nanosecondi unità.
[in] pIndexIdentifier
Puntatore a una struttura ASF_INDEX_IDENTIFIER che identifica il numero di flusso e il tipo di indice.
[out] pcbOffsetWithinData
Riceve l'offset all'interno del segmento di dati dell'oggetto dati ASF. L'offset è in byte ed è relativo all'inizio del pacchetto 0. L'offset fornisce la posizione iniziale da cui il client deve iniziare a leggere dal flusso. Questa posizione potrebbe non corrispondere esattamente al tempo di ricerca richiesto.
Per la riproduzione inversa, se non esiste alcun fotogramma chiave dopo la posizione di ricerca desiderata, questo parametro riceve il valore MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT. In tal caso, la posizione di ricerca deve essere 1 byte passare la fine del segmento di dati.
[out] phnsApproxTime
Riceve il timestamp approssimativo dei dati che si trovano nell'offset restituito nel parametro pcbOffsetWithinData . L'accuratezza di questo valore è uguale all'intervallo di indicizzazione dell'indice ASF, in genere circa 1 secondo.
- Se il tipo di indice specificato in pIndexIdentifierè GUID_NULL (indicizzazione temporale), questo parametro può essere NULL.
- Per tutti gli altri tipi di indice, questo parametro deve essere NULL.
[out] pdwPayloadNumberOfStreamWithinPacket
Riceve il numero di payload del payload che contiene le informazioni per il flusso specificato. I pacchetti possono contenere più payload, ognuno dei quali contiene dati per un flusso diverso. Questo parametro può essere NULL.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Il tempo di ricerca richiesto non è compreso nell'intervallo. |
|
Nessun indice esiste del tipo specificato per il flusso specificato. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wmcontainer.h |
Libreria | Mfuuid.lib |