> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Méthode Read de l’interface IReadStream

> Méthode Read de l’interface IReadStream dans l’API ABBYY FineReader Engine — méthode côté client qui lit le nombre d’octets spécifié dans le flux ; l’implémenteur crée le tableau de données et l’appelant en prend possession.

Cette méthode est implémentée côté client et sert à fournir, à partir d’une source personnalisée, les données à traiter. Votre implémentation de cette méthode doit créer un tableau de données et le transmettre à l’appelant, qui sera ensuite chargé d’en libérer la mémoire après utilisation.

<div id="syntax">
  ## Syntaxe
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT Read(
  SAFEARRAY(BYTE)* Data,
  int              Count,
  int*             BytesRead
);
```

### C\#

```csharp theme={null}
int Read(
  out byte[] Data,
  int        Count
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Function Read( _
  ByRef Data() As Byte, _
  ByVal Count As Integer _
) As Integer
```

<div id="parameters">
  ## Paramètres
</div>

Data

\[out] Ce paramètre correspond aux données à lire. Votre implémentation de cette méthode doit créer ce tableau et y écrire les données requises. L’appelant est responsable de libérer cette mémoire lorsqu’elle n’est plus nécessaire.

Count

\[in] Ce paramètre spécifie le nombre maximal d’octets à lire.

BytesRead

\[out, retval] Ce paramètre spécifie le nombre d’octets effectivement lus (c’est-à-dire la taille de la mémoire occupée par le tampon Data). Si ce nombre est supérieur à 0, la méthode sera appelée de nouveau jusqu’à ce que ce paramètre renvoie 0.

<div id="return-values">
  ## Valeurs de retour
</div>

\[C++ uniquement] Si cette méthode renvoie une valeur autre que S\_OK, cela indique qu’une erreur s’est produite côté client.

<div id="remarks">
  ## Remarques
</div>

L’implémentation côté client de cette méthode doit garantir que toutes les exceptions levées à l’intérieur de la méthode sont interceptées et gérées, et qu’aucune exception n’est propagée en dehors de la méthode. La propagation d’une exception en dehors de la méthode peut entraîner des résultats imprévisibles (par exemple, l’arrêt du programme).

<div id="see-also">
  ## Voir aussi
</div>

[IReadStream](/fr/fine-reader/engine/api-reference/supplementary-objects-and-methods/ireadstream)
