Méthode IMFASFIndexer ::GetSeekPositionForValue (wmcontainer.h)
En fonction de l’heure de recherche souhaitée, obtient le décalage à partir duquel le client doit commencer à lire les données.
Syntaxe
HRESULT GetSeekPositionForValue(
[in] const PROPVARIANT *pvarValue,
[in] ASF_INDEX_IDENTIFIER *pIndexIdentifier,
[out] QWORD *pcbOffsetWithinData,
[out] MFTIME *phnsApproxTime,
[out] DWORD *pdwPayloadNumberOfStreamWithinPacket
);
Paramètres
[in] pvarValue
Valeur de l’entrée d’index pour laquelle obtenir la position. Le format de cette valeur varie en fonction du type d’index, qui est spécifié dans l’identificateur d’index. Pour l’indexation basée sur le temps, le type de variante est VT_I8 et la valeur est l’heure de recherche souhaitée, en unités de 100 nanosecondes.
[in] pIndexIdentifier
Pointeur vers une structure ASF_INDEX_IDENTIFIER qui identifie le nombre de flux et le type d’index.
[out] pcbOffsetWithinData
Reçoit le décalage dans le segment de données de l’objet de données ASF. Le décalage est en octets et est relatif au début du paquet 0. Le décalage indique l’emplacement de départ à partir duquel le client doit commencer à lire à partir du flux. Cet emplacement peut ne pas correspondre exactement à l’heure de recherche demandée.
Pour la lecture inversée, si aucune image clé n’existe après la position de recherche souhaitée, ce paramètre reçoit la valeur MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT. Dans ce cas, la position de recherche doit être de 1 octet à la fin du segment de données.
[out] phnsApproxTime
Reçoit l’horodatage approximatif des données situées au niveau du décalage retourné dans le paramètre pcbOffsetWithinData . La précision de cette valeur est égale à l’intervalle d’indexation de l’index ASF, généralement environ 1 seconde.
- Si le type d’index spécifié dans pIndexIdentifier est GUID_NULL (indexation temporelle), ce paramètre peut être NULL.
- Pour tous les autres types d’index, ce paramètre doit avoir la valeur NULL.
[out] pdwPayloadNumberOfStreamWithinPacket
Reçoit le numéro de charge utile de la charge utile qui contient les informations du flux spécifié. Les paquets peuvent contenir plusieurs charges utiles, chacune contenant des données pour un flux différent. Ce paramètre peut être NULL.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Le temps de recherche demandé est hors de portée. |
|
Il n’existe aucun index du type spécifié pour le flux spécifié. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wmcontainer.h |
Bibliothèque | Mfuuid.lib |