Méthode IByteBuffer::Seek
[La méthode Seek est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. L’interface IStream fournit des fonctionnalités similaires.]
La méthode Seek modifie le pointeur de recherche vers un nouvel emplacement par rapport au début de la mémoire tampon, à la fin de la mémoire tampon ou au pointeur de recherche actuel.
Syntaxe
HRESULT Seek(
[in] LONG dlibMove,
[in] LONG dwOrigin,
[out] LONG *plibNewPosition
);
Paramètres
-
dlibMove [in]
-
Déplacement à ajouter à l’emplacement indiqué par dwOrigin. Si dwOrigin est STREAM_SEEK_SET, cela est interprété comme une valeur non signée plutôt que signée.
-
dwOrigin [in]
-
Spécifie l’origine du déplacement spécifié dans dlibMove. L’origine peut être l’une des valeurs du tableau suivant.
Valeur Signification - STREAM_SEEK_SET
Le nouveau pointeur de recherche est un décalage par rapport au début du flux. Dans ce cas, le paramètre dlibMove est la nouvelle position de recherche par rapport au début du flux. - STREAM_SEEK_CUR
Le nouveau pointeur de recherche est un décalage par rapport à l’emplacement actuel du pointeur de recherche. Dans ce cas, le paramètre dlibMove est le déplacement signé de la position de recherche actuelle. - STREAM_SEEK_END
Le nouveau pointeur de recherche est un décalage par rapport à la fin du flux. Dans ce cas, le paramètre dlibMove est la nouvelle position de recherche par rapport à la fin du flux. -
plibNewPosition [out]
-
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 pour indiquer que cette valeur ne vous intéresse pas. Dans ce cas, cette méthode ne fournit pas le nouveau pointeur de recherche.
Valeur retournée
La valeur de retour est HRESULT. La valeur S_OK indique que l’appel a réussi.
Notes
La méthode Seek modifie le pointeur de recherche afin que les opérations de lecture et d’écriture suivantes puissent avoir lieu à 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 le flux sera alors étendu à la position de recherche immédiatement avant la fin de l’opération d’é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 zéro afin que le pointeur de recherche ne soit pas modifié. Le pointeur de recherche actuel est retourné dans le paramètre plibNewPosition .
Exemples
L’exemple suivant montre le positionnement du pointeur de recherche vers un nouvel emplacement.
LONG lNewPos;
HRESULT hr;
// Change the seek pointer.
hr = pIByteBuff->Seek(5, STREAM_SEEK_SET, &lNewPos);
if (FAILED(hr))
printf("Failed IByteBuffer::Seek\n");
else
printf("New position is %x\n", lNewPos);
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2003 [applications de bureau uniquement] |
Fin de la prise en charge des clients |
Windows XP |
Fin de la prise en charge des serveurs |
Windows Server 2003 |
En-tête |
|
Bibliothèque de types |
|
DLL |
|
IID |
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |