Méthode IStream ::Seek (objidl.h)
La méthode Seek modifie le pointeur de recherche vers un nouvel emplacement. Le nouvel emplacement est relatif au début du flux, à la fin du flux ou au pointeur de recherche actuel.
Syntaxe
HRESULT Seek(
[in] LARGE_INTEGER dlibMove,
[in] DWORD dwOrigin,
[out] ULARGE_INTEGER *plibNewPosition
);
Paramètres
[in] dlibMove
Déplacement à ajouter à l’emplacement indiqué par le paramètre dwOrigin . Si dwOrigin est STREAM_SEEK_SET, cela est interprété comme une valeur non signée plutôt qu’une valeur signée.
[in] dwOrigin
Origine du déplacement spécifié dans dlibMove. L’origine peut être le début du fichier (STREAM_SEEK_SET), le pointeur de recherche actuel (STREAM_SEEK_CUR) ou la fin du fichier (STREAM_SEEK_END). Pour plus d’informations sur les valeurs, consultez l’énumération STREAM_SEEK .
[out] plibNewPosition
Pointeur vers l’emplacement où cette méthode écrit la valeur du nouveau pointeur de recherche à partir du début du flux.
Vous pouvez définir ce pointeur sur NULL. Dans ce cas, cette méthode ne fournit pas le nouveau pointeur de recherche.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
S_OK | Le pointeur de recherche a été correctement ajusté. |
E_PENDING | Stockage asynchrone uniquement : une partie ou la totalité des données de flux n’est actuellement pas disponible. |
STG_E_INVALIDPOINTER | Indique que plibNewPosition pointe vers la mémoire non valide, car plibNewPosition n’est pas lu. |
STG_E_INVALIDFUNCTION | Le paramètre dwOrigin contient une valeur non valide ou le paramètre dlibMove contient une valeur de décalage incorrecte. Par exemple, le résultat du pointeur de recherche est une valeur de décalage négative. |
STG_E_REVERTED | L’objet a été invalidé par une opération de restauration au-dessus de lui dans l’arborescence des transactions. |
Remarques
IStream ::Seek modifie le pointeur de recherche afin que les opérations de lecture et d’écriture suivantes puissent être effectuées à un autre emplacement dans l’objet stream. Il s’agit d’une erreur à rechercher avant le début du flux. Toutefois, il ne s’agit pas d’une erreur de rechercher au-delà de la fin du flux. La recherche au-delà de la fin du flux est utile pour les opérations d’écriture suivantes, car la plage d’octets de flux sera étendue à la nouvelle position de recherche immédiatement avant la fin de l’écriture.
Vous pouvez également utiliser cette méthode pour obtenir la valeur actuelle du pointeur de recherche en appelant cette méthode avec le paramètre dwOrigin défini sur STREAM_SEEK_CUR et le paramètre dlibMove défini sur 0 afin que le pointeur de recherche ne soit pas modifié. Le pointeur de recherche actuel est retourné dans le paramètre plibNewPosition .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | objidl.h |
Bibliothèque | Uuid.lib |
DLL | Ole32.dll |