Partager via


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
Scardssp.h
Bibliothèque de types
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer est défini comme E126F8FE-A7AF-11D0-B88A-00C04FD424B9