> ## 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.

# Read-Methode der IReadStream-Schnittstelle

> Read-Methode der IReadStream-Schnittstelle in der ABBYY FineReader Engine API — clientseitige Methode, die die angegebene Anzahl von Bytes aus dem Stream liest; der Implementierer erstellt das Datenarray und der Aufrufer übernimmt die Verantwortung dafür.

Diese Methode wird clientseitig implementiert und dient dazu, die zu verarbeitenden Daten aus einer benutzerdefinierten Quelle einzulesen. Ihre Implementierung dieser Methode sollte ein Datenarray erstellen und die Kontrolle darüber an den Aufrufer übergeben. Dieser ist anschließend dafür verantwortlich, den Speicher nach der Verwendung freizugeben.

<div id="syntax">
  ## Syntax
</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">
  ## Parameter
</div>

Data

\[out] Dieser Parameter bezieht sich auf die zu lesenden Daten. Ihre Implementierung dieser Methode sollte dieses Array erstellen und die erforderlichen Daten hineinschreiben. Der Aufrufer ist dafür verantwortlich, diesen Speicher freizugeben, wenn er nicht mehr benötigt wird.

Count

\[in] Dieser Parameter gibt die Obergrenze für die Anzahl der zu lesenden Bytes an.

BytesRead

\[out, retval] Dieser Parameter gibt die Anzahl der tatsächlich gelesenen Bytes an (das heißt, die vom Data-Puffer belegte Speichergröße). Wenn diese Zahl größer als 0 ist, wird die Methode erneut aufgerufen, bis dieser Parameter 0 zurückgibt.

<div id="return-values">
  ## Rückgabewerte
</div>

\[Nur in C++] Wenn diese Methode einen anderen Wert als S\_OK zurückgibt, ist clientseitig ein Fehler aufgetreten.

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

Die Client-Implementierung dieser Methode muss sicherstellen, dass alle innerhalb der Methode ausgelösten Ausnahmen abgefangen und behandelt werden und dass keine Ausnahmen über die Methode hinaus propagiert werden. Die Propagierung einer Ausnahme über die Methode hinaus kann zu unvorhersehbaren Ergebnissen führen (z. B. zur Beendigung des Programms).

<div id="see-also">
  ## Siehe auch
</div>

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