Skip to content

Instantly share code, notes, and snippets.

@alexanderschnitzler
Created January 8, 2013 19:31
Show Gist options
  • Select an option

  • Save alexanderschnitzler/4487126 to your computer and use it in GitHub Desktop.

Select an option

Save alexanderschnitzler/4487126 to your computer and use it in GitHub Desktop.
#region Assembly mscorlib.dll, v4.0.30319
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll
#endregion
using Microsoft.Win32.SafeHandles;
using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.AccessControl;
namespace System.IO
{
// Zusammenfassung:
// Macht einen System.IO.Stream um eine Datei verfügbar, wobei synchrone und
// asynchrone Lese- und Schreibvorgänge unterstützt werden.
[ComVisible(true)]
public class FileStream : Stream
{
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die vom aktuellen FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// festlegt.
//
// Ausnahmen:
// System.ArgumentException:
// access ist kein Feld von System.IO.FileAccess.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[Obsolete("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
[SecuritySafeCritical]
public FileStream(IntPtr handle, FileAccess access);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle und mit der angegebenen Lese- und Schreibberechtigung.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die vom aktuellen FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// festlegt.
//
// Ausnahmen:
// System.ArgumentException:
// access ist kein Feld von System.IO.FileAccess.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[SecuritySafeCritical]
public FileStream(SafeFileHandle handle, FileAccess access);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit dem angegebenen
// Pfad und dem angegebenen Erstellungsmodus.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// Ausnahmen:
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden.- oder -Der
// Stream wurde geschlossen.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
//
// System.ArgumentOutOfRangeException:
// mode enthält einen ungültigen Wert.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle mit den Angaben für die Lese-/Schreibberechtigung und für den
// Besitz der FileStream-Instanz.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die vom aktuellen FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abruft.
//
// ownsHandle:
// true, wenn das Dateihandle im Besitz dieser FileStream-Instanz sein wird,
// andernfalls false.
//
// Ausnahmen:
// System.ArgumentException:
// access ist kein Feld von System.IO.FileAccess.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[SecuritySafeCritical]
[Obsolete("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. http://go.microsoft.com/fwlink/?linkid=14202")]
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle mit den Angaben für die Lese-/Schreibberechtigung und die Puffergröße.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die vom aktuellen FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abruft.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// Ausnahmen:
// System.ArgumentException:
// Der handle-Parameter ist ein ungültiges Handle.- oder -Der handle-Parameter
// ist ein synchrones Handle und wurde asynchron verwendet.
//
// System.ArgumentOutOfRangeException:
// Der bufferSize-Parameter ist negativ.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[SecuritySafeCritical]
public FileStream(SafeFileHandle handle, FileAccess access, int bufferSize);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus und die Lese-/Schreibberechtigung.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// access:
// Eine System.IO.FileAccess-Konstante, die bestimmt, welcher Zugriff auf die
// Datei für das FileStream-Objekt zulässig ist.Dadurch werden die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abgerufen.System.IO.FileStream.CanSeek ist true, wenn path eine Datei auf
// einem Datenträger darstellt.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden. - oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
//
// System.ArgumentOutOfRangeException:
// mode enthält einen ungültigen Wert.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, den Besitz
// der FileStream-Instanz und die Puffergröße.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die von diesem FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abruft.
//
// ownsHandle:
// true, wenn das Dateihandle im Besitz dieser FileStream-Instanz sein wird,
// andernfalls false.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[SecuritySafeCritical]
[Obsolete("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. http://go.microsoft.com/fwlink/?linkid=14202")]
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, die Puffergröße
// und den synchronen bzw. asynchronen Zustand.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die von diesem FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abruft.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// isAsync:
// true, wenn das Handle asynchron geöffnet wurde (im überlappenden E/A-Modus),
// andernfalls false.
//
// Ausnahmen:
// System.ArgumentException:
// Der handle-Parameter ist ein ungültiges Handle.- oder -Der handle-Parameter
// ist ein synchrones Handle und wurde asynchron verwendet.
//
// System.ArgumentOutOfRangeException:
// Der bufferSize-Parameter ist negativ.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[SecuritySafeCritical]
public FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus und die Freigabeberechtigung.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// access:
// Eine System.IO.FileAccess-Konstante, die bestimmt, welcher Zugriff auf die
// Datei für das FileStream-Objekt zulässig ist.Dadurch werden die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abgerufen.System.IO.FileStream.CanSeek ist true, wenn path eine Datei auf
// einem Datenträger darstellt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden. - oder -Das
// System führt Windows 98 oder Windows 98 SE aus, und share ist auf FileShare.Delete
// festgelegt.- oder -Der Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
//
// System.ArgumentOutOfRangeException:
// mode enthält einen ungültigen Wert.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse für das angegebene
// Dateihandle mit den Angaben für die Lese-/Schreibberechtigung, den Besitz
// der FileStream-Instanz, die Puffergröße und den synchronen bzw. asynchronen
// Zustand.
//
// Parameter:
// handle:
// Ein Dateihandle für die Datei, die von diesem FileStream-Objekt gekapselt
// wird.
//
// access:
// Eine System.IO.FileAccess-Konstante, die die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abruft.
//
// ownsHandle:
// true, wenn das Dateihandle im Besitz dieser FileStream-Instanz sein wird,
// andernfalls false.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// isAsync:
// true, wenn das Handle asynchron geöffnet wurde (im überlappenden E/A-Modus),
// andernfalls false.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// access ist kleiner als FileAccess.Read oder größer als FileAccess.ReadWrite,
// oder bufferSize ist kleiner oder gleich 0.
//
// System.ArgumentException:
// Das Handle ist ungültig.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, z. B. ein Datenträgerfehler.- oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für das angegebene Dateihandle wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt sind und das Dateihandle auf schreibgeschützten Zugriff
// festgelegt ist.
[Obsolete("This constructor has been deprecated. Please use new FileStream(SafeFileHandle handle, FileAccess access, int bufferSize, bool isAsync) instead, and optionally make a new SafeFileHandle with ownsHandle=false if needed. http://go.microsoft.com/fwlink/?linkid=14202")]
[SecuritySafeCritical]
public FileStream(IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung
// sowie die Puffergröße.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// access:
// Eine System.IO.FileAccess-Konstante, die bestimmt, welcher Zugriff auf die
// Datei für das FileStream-Objekt zulässig ist.Dadurch werden die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abgerufen.System.IO.FileStream.CanSeek ist true, wenn path eine Datei auf
// einem Datenträger darstellt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält.
//
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ oder 0 (null).- oder - mode, access oder share enthalten
// einen ungültigen Wert.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden. - oder -Das
// System führt Windows 98 oder Windows 98 SE aus, und share ist auf FileShare.Delete
// festgelegt.- oder -Der Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung,
// die Puffergröße und den synchronen bzw. asynchronen Zustand.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// access:
// Eine System.IO.FileAccess-Konstante, die bestimmt, welcher Zugriff auf die
// Datei für das FileStream-Objekt zulässig ist.Dadurch werden die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abgerufen.System.IO.FileStream.CanSeek ist true, wenn path eine Datei auf
// einem Datenträger darstellt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// useAsync:
// Gibt an, ob eine asynchrone E/A oder eine synchrone E/A verwendet wird.Beachten
// Sie jedoch, dass das zugrunde liegende Betriebssystem möglicherweise keine
// asynchrone E/A unterstützt, sodass das Handle je nach Plattform auch bei
// der Angabe von true möglicherweise synchron geöffnet wird.Bei asynchronem
// Öffnen liefern die System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)-Methode
// und die System.IO.FileStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)-Methode
// bei umfangreichen Lese- oder Schreibvorgängen eine höhere Leistung, sind
// aber möglicherweise bei kleinen Lese- und Schreibvorgängen wesentlich langsamer.Wenn
// die Anwendung die Vorteile der asynchronen E/A nutzen kann, legen Sie den
// useAsync-Parameter auf true fest.Wird die asynchrone E/A richtig eingesetzt,
// können Anwendungen um ein Zehnfaches beschleunigt werden. Wenn die Anwendung
// jedoch nicht an eine asynchrone E/A angepasst wurde, kann dies die Leistung
// auch um das Zehnfache verringern.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ oder 0 (null).- oder - mode, access oder share enthalten
// einen ungültigen Wert.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden.- oder -
// Das System führt Windows 98 oder Windows 98 SE aus, und share ist auf FileShare.Delete
// festgelegt.- oder -Der Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus, die Lese-/Schreib- und Freigabeberechtigung,
// die Zugriffsmöglichkeiten anderer FileStreams auf die gleiche Datei, die
// Puffergröße und zusätzliche Dateioptionen.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// access:
// Eine System.IO.FileAccess-Konstante, die bestimmt, welcher Zugriff auf die
// Datei für das FileStream-Objekt zulässig ist.Dadurch werden die System.IO.FileStream.CanRead-Eigenschaft
// und die System.IO.FileStream.CanWrite-Eigenschaft des FileStream-Objekts
// abgerufen.System.IO.FileStream.CanSeek ist true, wenn path eine Datei auf
// einem Datenträger darstellt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// options:
// Ein System.IO.FileOptions-Wert, der zusätzliche Dateioptionen angibt.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ oder 0 (null).- oder - mode, access oder share enthalten
// einen ungültigen Wert.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden.- oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist. - oder -System.IO.FileOptions.Encrypted wurde für options angegeben,
// aber die Dateiverschlüsselung wird auf der aktuellen Plattform nicht unterstützt.
//
// System.IO.PathTooLongException:
// Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, FileOptions options);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus, die Zugriffsrechte und die Freigabeberechtigung,
// die Puffergröße und zusätzliche Dateioptionen.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen System.IO.FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// rights:
// Eine System.Security.AccessControl.FileSystemRights-Konstante, die die beim
// Erstellen der Zugriffs- und Überwachungsregeln für die Datei zu verwendenden
// Zugriffsrechte festlegt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// options:
// Eine System.IO.FileOptions-Konstante, die zusätzliche Dateioptionen angibt.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ oder 0 (null).- oder - mode, access oder share enthalten
// einen ungültigen Wert.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.PlatformNotSupportedException:
// Das aktuelle Betriebssystem ist nicht Windows NT oder höher.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden. - oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist. - oder -System.IO.FileOptions.Encrypted wurde für options angegeben,
// aber die Dateiverschlüsselung wird auf der aktuellen Plattform nicht unterstützt.
//
// System.IO.PathTooLongException:
// Der angegebene path und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options);
//
// Zusammenfassung:
// Initialisiert eine neue Instanz der System.IO.FileStream-Klasse mit den Angaben
// für den Pfad, den Erstellungsmodus, die Zugriffsrechte und die Freigabeberechtigung,
// die Puffergröße, zusätzliche Dateioptionen, die Zugriffssteuerung und die
// Überwachungssicherheit.
//
// Parameter:
// path:
// Ein relativer oder absoluter Pfad zu der Datei, die vom aktuellen System.IO.FileStream-Objekt
// gekapselt wird.
//
// mode:
// Eine System.IO.FileMode-Konstante, die bestimmt, auf welche Weise die Datei
// geöffnet oder erstellt werden soll.
//
// rights:
// Eine System.Security.AccessControl.FileSystemRights-Konstante, die die beim
// Erstellen der Zugriffs- und Überwachungsregeln für die Datei zu verwendenden
// Zugriffsrechte festlegt.
//
// share:
// Eine System.IO.FileShare-Konstante zur Bestimmung der Art, in der Prozesse
// gemeinsam auf die Datei zugreifen.
//
// bufferSize:
// Ein positiver System.Int32-Wert größer als 0 (null), der die Puffergröße
// angibt.Bei bufferSize-Werten zwischen 1 und 8 wird die tatsächliche Puffergröße
// auf 8 Bytes festgelegt.
//
// options:
// Eine System.IO.FileOptions-Konstante, die zusätzliche Dateioptionen angibt.
//
// fileSecurity:
// Eine System.Security.AccessControl.FileSecurity-Konstante, die die Zugriffssteuerung
// und die Überwachungssicherheit für die Datei bestimmt.
//
// Ausnahmen:
// System.ArgumentNullException:
// path hat den Wert null.
//
// System.ArgumentException:
// path ist eine leere Zeichenfolge (""), die nur Leerraum oder mindestens ein
// ungültiges Zeichen enthält. - oder -path verweist auf ein Gerät, das keine
// Datei ist, z. B. "con:", "com1:", "lpt1:" usw.in einer NTFS-Umgebung.
//
// System.NotSupportedException:
// path verweist auf ein Gerät, das keine Datei ist, z. B. "con:", "com1:",
// "lpt1:" usw.in einer nicht-NTFS-Umgebung.
//
// System.ArgumentOutOfRangeException:
// bufferSize ist negativ oder 0 (null).- oder - mode, access oder share enthalten
// einen ungültigen Wert.
//
// System.IO.FileNotFoundException:
// Die Datei kann nicht gefunden werden. Dies ist z. B. der Fall, wenn mode
// auf FileMode.Truncate oder FileMode.Open festgelegt wurde und die durch path
// angegebene Datei nicht vorhanden ist.Die Datei muss bereits in diesen Modi
// vorhanden sein.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise wurde FileMode.CreateNew
// angegeben, und die durch path angegebene Datei ist bereits vorhanden. - oder -Der
// Stream wurde geschlossen.
//
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
//
// System.IO.DirectoryNotFoundException:
// Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk
// des Pfads nicht zugeordnet ist.
//
// System.UnauthorizedAccessException:
// Der angeforderte access für den angegebenen path wird durch das Betriebssystem
// nicht zugelassen. Dies ist z. B. der Fall, wenn Write oder ReadWrite für
// access festgelegt ist, die Datei bzw. das Verzeichnis jedoch schreibgeschützt
// ist. - oder -System.IO.FileOptions.Encrypted wurde für options angegeben,
// aber die Dateiverschlüsselung wird auf der aktuellen Plattform nicht unterstützt.
//
// System.IO.PathTooLongException:
// Der angegebene path und/oder der Dateiname überschreiten die vom System vorgegebene
// Höchstlänge.Beispielsweise müssen Pfade auf Windows-Plattformen weniger als
// 248 Zeichen und Dateinamen weniger als 260 Zeichen haben.
//
// System.PlatformNotSupportedException:
// Das aktuelle Betriebssystem ist nicht Windows NT oder höher.
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, FileSecurity fileSecurity);
// Zusammenfassung:
// Ruft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt.
//
// Rückgabewerte:
// true, wenn der Stream Lesevorgänge unterstützt, false, wenn der Stream geschlossen
// ist oder ausschließlich mit Schreibzugriff geöffnet wurde.
public override bool CanRead { get; }
//
// Zusammenfassung:
// Ruft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt.
//
// Rückgabewerte:
// true, wenn der Stream Suchvorgänge unterstützt, false, wenn der Stream geschlossen
// ist oder der FileStream von einem Betriebssystemhandle, z. B. einem Pipe
// oder einer Ausgabe in der Konsole, erstellt wurde.
public override bool CanSeek { get; }
//
// Zusammenfassung:
// Ruft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt.
//
// Rückgabewerte:
// true, wenn der Stream Schreibvorgänge unterstützt, false, wenn der Stream
// geschlossen ist oder mit schreibgeschütztem Zugriff geöffnet wurde.
public override bool CanWrite { get; }
//
// Zusammenfassung:
// Ruft das Dateihandle des Betriebssystems für die Datei ab, die durch das
// aktuelle FileStream-Objekt gekapselt wird.
//
// Rückgabewerte:
// Das Dateihandle des Betriebssystems für die vom FileStream-Objekt gekapselte
// Datei oder -1, wenn FileStream geschlossen wurde.
//
// Ausnahmen:
// System.Security.SecurityException:
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
[Obsolete("This property has been deprecated. Please use FileStream's SafeFileHandle property instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public virtual IntPtr Handle { get; }
//
// Zusammenfassung:
// Ruft einen Wert ab, der angibt, ob FileStream asynchron oder synchron geöffnet
// wurde.
//
// Rückgabewerte:
// true, wenn FileStream asynchron geöffnet wurde, andernfalls false.
public virtual bool IsAsync { get; }
//
// Zusammenfassung:
// Ruft die Länge des Streams in Bytes ab.
//
// Rückgabewerte:
// Ein Long-Wert, der die Länge des Streams in Bytes darstellt.
//
// Ausnahmen:
// System.NotSupportedException:
// System.IO.FileStream.CanSeek ist für diesen Stream false.
//
// System.IO.IOException:
// Es ist ein E/A-Fehler aufgetreten, beispielsweise das Schließen der Datei.
public override long Length { get; }
//
// Zusammenfassung:
// Ruft den Namen des FileStream ab, der an den Konstruktor übergeben wurde.
//
// Rückgabewerte:
// Eine Zeichenfolge, die den Namen von FileStream darstellt.
public string Name { get; }
//
// Zusammenfassung:
// Ruft die aktuelle Position dieses Streams ab oder legt diese fest.
//
// Rückgabewerte:
// Die aktuelle Position dieses Streams.
//
// Ausnahmen:
// System.NotSupportedException:
// Der Stream unterstützt keine Suchvorgänge.
//
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten. - oder -In Windows 98 oder früher wurde die
// Position auf einen sehr großen Wert nach dem Ende des Streams festgelegt.
//
// System.ArgumentOutOfRangeException:
// Es wurde versucht, die Position auf einen negativen Wert festzulegen.
//
// System.IO.EndOfStreamException:
// Es wurde versucht, eine Suche über ein Ende eines Streams hinaus auszuführen,
// der diesen Vorgang nicht unterstützt.
public override long Position { get; set; }
//
// Zusammenfassung:
// Ruft ein Microsoft.Win32.SafeHandles.SafeFileHandle-Objekt auf, das den Dateihandle
// des Betriebssystems für die Datei darstellt, die das aktuelle System.IO.FileStream-Objekt
// kapselt.
//
// Rückgabewerte:
// Ein Microsoft.Win32.SafeHandles.SafeFileHandle-Objekt, das den Dateihandle
// des Betriebssystems für die Datei darstellt, die das aktuelle System.IO.FileStream-Objekt
// kapselt.
public virtual SafeFileHandle SafeFileHandle { get; }
// Zusammenfassung:
// Beginnt einen asynchronen Lesevorgang.
//
// Parameter:
// array:
// Der Puffer, in den Daten gelesen werden sollen.
//
// offset:
// Der Byteoffset im array, ab dem gelesen werden soll.
//
// numBytes:
// Die maximale Anzahl der zu lesenden Bytes.
//
// userCallback:
// Die Methode, die aufgerufen werden soll, wenn der asynchrone Lesevorgang
// abgeschlossen ist.
//
// stateObject:
// Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Leseanforderung
// von anderen Anforderungen unterscheidet.
//
// Rückgabewerte:
// Ein System.IAsyncResult, das auf den asynchronen Lesevorgang verweist.
//
// Ausnahmen:
// System.ArgumentException:
// Die Länge des Arrays minus offset ist kleiner als numBytes.
//
// System.ArgumentNullException:
// array hat den Wert null.
//
// System.ArgumentOutOfRangeException:
// offset oder numBytes ist negativ.
//
// System.IO.IOException:
// Es wurde ein asynchroner Lesevorgang über das Dateiende hinaus versucht.
[SecuritySafeCritical]
public override IAsyncResult BeginRead(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);
//
// Zusammenfassung:
// Beginnt einen asynchronen Schreibvorgang.
//
// Parameter:
// array:
// Der Puffer mit den Daten, die in den aktuellen Stream geschrieben werden
// sollen.
//
// offset:
// Der nullbasierte Byteoffset im array, ab dem Bytes in den aktuellen Stream
// kopiert werden.
//
// numBytes:
// Die maximale Anzahl der zu schreibenden Bytes.
//
// userCallback:
// Die Methode, die aufgerufen werden soll, wenn der asynchrone Schreibvorgang
// abgeschlossen ist.
//
// stateObject:
// Ein vom Benutzer bereitgestelltes Objekt, das diese asynchrone Schreibanforderung
// von anderen Anforderungen unterscheidet.
//
// Rückgabewerte:
// Ein System.IAsyncResult, das auf den asynchronen Schreibvorgang verweist.
//
// Ausnahmen:
// System.ArgumentException:
// Die Länge von array minus offset ist kleiner als numBytes.
//
// System.ArgumentNullException:
// array hat den Wert null.
//
// System.ArgumentOutOfRangeException:
// offset oder numBytes ist negativ.
//
// System.NotSupportedException:
// Der Stream unterstützt keine Schreibvorgänge.
//
// System.ObjectDisposedException:
// Der Stream ist geschlossen.
//
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten.
[SecuritySafeCritical]
public override IAsyncResult BeginWrite(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);
//
// Zusammenfassung:
// Gibt die von der Instanz von System.IO.FileStream verwendeten nicht verwalteten
// Ressourcen und optional auch die verwalteten Ressourcen frei.
//
// Parameter:
// disposing:
// true, um sowohl verwaltete als auch nicht verwaltete Ressourcen freizugeben.
// false, um ausschließlich nicht verwaltete Ressourcen freizugeben.
[SecuritySafeCritical]
protected override void Dispose(bool disposing);
//
// Zusammenfassung:
// Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist.
//
// Parameter:
// asyncResult:
// Der Verweis auf die ausstehende asynchrone Anforderung, die abgewartet werden
// soll.
//
// Rückgabewerte:
// Die Anzahl der aus dem Stream gelesenen Bytes. Diese Anzahl kann zwischen
// 0 und der Anzahl der angeforderten Bytes liegen.Streams geben nur am Ende
// des Streams 0 zurück, andernfalls sollten sie blockieren, bis mindestens
// 1 Byte verfügbar ist.
//
// Ausnahmen:
// System.ArgumentNullException:
// asyncResult hat den Wert null.
//
// System.ArgumentException:
// Dieses System.IAsyncResult-Objekt wurde nicht durch Aufruf von System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
// in dieser Klasse erstellt.
//
// System.InvalidOperationException:
// System.IO.FileStream.EndRead(System.IAsyncResult) wurde mehrmals aufgerufen.
//
// System.IO.IOException:
// Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.
[SecuritySafeCritical]
public override int EndRead(IAsyncResult asyncResult);
//
// Zusammenfassung:
// Beendet einen asynchronen Lesevorgang und blockiert, bis die E/A-Operation
// abgeschlossen wurde.
//
// Parameter:
// asyncResult:
// Die ausstehende asynchrone E/A-Anforderung.
//
// Ausnahmen:
// System.ArgumentNullException:
// asyncResult hat den Wert null.
//
// System.ArgumentException:
// Dieses System.IAsyncResult-Objekt wurde nicht durch Aufruf von System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)
// in dieser Klasse erstellt.
//
// System.InvalidOperationException:
// System.IO.FileStream.EndWrite(System.IAsyncResult) wurde mehrmals aufgerufen.
//
// System.IO.IOException:
// Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.
[SecuritySafeCritical]
public override void EndWrite(IAsyncResult asyncResult);
//
// Zusammenfassung:
// Löscht die Puffer für diesen Datenstrom und veranlasst die Ausgabe aller
// gepufferten Daten in die Datei.
//
// Ausnahmen:
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten.
//
// System.ObjectDisposedException:
// Der Stream ist geschlossen.
[SecuritySafeCritical]
public override void Flush();
//
// Zusammenfassung:
// Löscht die Puffer für diesen Datenstrom, veranlasst die Ausgabe aller gepufferten
// Daten in die Datei und löscht zudem alle Zwischendateipuffer.
//
// Parameter:
// flushToDisk:
// true, um alle Zwischendateipuffer zu leeren, andernfalls false.
[SecuritySafeCritical]
public virtual void Flush(bool flushToDisk);
//
// Zusammenfassung:
// Ruft ein System.Security.AccessControl.FileSecurity-Objekt ab, das die Einträge
// in der Zugriffssteuerungsliste für die Datei kapselt, das vom aktuellen System.IO.FileStream-Objekt
// beschrieben wird.
//
// Rückgabewerte:
// Ein System.Security.AccessControl.FileSecurity-Objekt, das die Zugriffssteuerungseinstellungen
// für die vom aktuellen System.IO.FileStream-Objekt beschriebene Datei kapselt.
//
// Ausnahmen:
// System.ObjectDisposedException:
// Die Datei ist geschlossen.
//
// System.IO.IOException:
// E/A-Fehler beim Öffnen der Datei.
//
// System.SystemException:
// Die Datei konnte nicht gefunden werden.
//
// System.UnauthorizedAccessException:
// Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.- oder -
// Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
[SecuritySafeCritical]
public FileSecurity GetAccessControl();
//
// Zusammenfassung:
// Verhindert, dass andere Prozesse den System.IO.FileStream ändern.
//
// Parameter:
// position:
// Der Anfang des zu sperrenden Bereichs.Der Wert dieses Parameters muss größer
// oder gleich 0 sein.
//
// length:
// Der zu sperrende Bereich.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// position oder length ist negativ.
//
// System.ObjectDisposedException:
// Die Datei ist geschlossen.
//
// System.IO.IOException:
// Der Prozess kann nicht auf die Datei zugreifen, weil ein Teil der Datei von
// einem anderen Prozess gesperrt wird.
[SecuritySafeCritical]
public virtual void Lock(long position, long length);
//
// Zusammenfassung:
// Liest einen Byteblock aus dem Stream und schreibt die Daten in einen angegebenen
// Puffer.
//
// Parameter:
// array:
// Enthält nach dem Beenden dieser Methode das angegebene Bytearray mit den
// Werten zwischen offset und (offset + count - 1)), die durch die aus der aktuellen
// Quelle gelesenen Bytes ersetzt wurden.
//
// offset:
// Das Byteoffset in array, an dem die gelesenen Bytes platziert werden.
//
// count:
// Die maximale Anzahl der zu lesenden Bytes.
//
// Rückgabewerte:
// Die Gesamtanzahl der in den Puffer gelesenen Bytes.Dies kann weniger als
// die Anzahl der angeforderten Bytes sein, wenn diese Anzahl an Bytes derzeit
// nicht verfügbar ist, oder null, wenn das Streamende erreicht ist.
//
// Ausnahmen:
// System.ArgumentNullException:
// array hat den Wert null.
//
// System.ArgumentOutOfRangeException:
// offset oder count ist negativ.
//
// System.NotSupportedException:
// Der Stream unterstützt keine Lesevorgänge.
//
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten.
//
// System.ArgumentException:
// offset und count bezeichnen einen ungültigen Bereich in array.
//
// System.ObjectDisposedException:
// Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.
[SecuritySafeCritical]
public override int Read(byte[] array, int offset, int count);
//
// Zusammenfassung:
// Liest ein Byte aus der Datei und erhöht die Leseposition um ein Byte.
//
// Rückgabewerte:
// Das Byte, das in System.Int32 umgewandelt wurde, oder -1, wenn das Ende des
// Streams erreicht wurde.
//
// Ausnahmen:
// System.NotSupportedException:
// Der aktuelle Stream unterstützt keine Lesevorgänge.
//
// System.ObjectDisposedException:
// Der aktuelle Stream ist geschlossen.
[SecuritySafeCritical]
public override int ReadByte();
//
// Zusammenfassung:
// Legt die aktuelle Position dieses Streams auf den angegebenen Wert fest.
//
// Parameter:
// offset:
// Der Punkt relativ zu origin, ab dem gesucht werden soll.
//
// origin:
// Bestimmt den Anfang, das Ende oder die aktuelle Position als Bezugspunkt
// für origin unter Verwendung eines Werts vom Typ System.IO.SeekOrigin.
//
// Rückgabewerte:
// Die neue Position im Stream.
//
// Ausnahmen:
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten.
//
// System.NotSupportedException:
// Der Stream unterstützt keine Suchvorgänge. Dies ist beispielsweise der Fall,
// wenn FileStream aus einer Pipe- oder Konsolenausgabe erstellt wird.
//
// System.ArgumentException:
// Es wurde versucht, eine Suche vor dem Anfang des Streams auszuführen.
//
// System.ObjectDisposedException:
// Es wurden Methoden aufgerufen, nachdem der Stream geschlossen wurde.
[SecuritySafeCritical]
public override long Seek(long offset, SeekOrigin origin);
//
// Zusammenfassung:
// Wendet von einem System.Security.AccessControl.FileSecurity-Objekt beschriebene
// Einträge in Zugriffssteuerungslisten auf die Datei an, die vom aktuellen
// System.IO.FileStream-Objekt beschrieben wird.
//
// Parameter:
// fileSecurity:
// Ein System.Security.AccessControl.FileSecurity-Objekt, das einen Eintrag
// in einer Zugriffssteuerungsliste beschreibt, der auf die aktuelle Datei angewendet
// werden soll.
//
// Ausnahmen:
// System.ObjectDisposedException:
// Die Datei ist geschlossen.
//
// System.ArgumentNullException:
// Der fileSecurity-Parameter ist null.
//
// System.SystemException:
// Die Datei wurde nicht gefunden und konnte nicht geändert werden.
//
// System.UnauthorizedAccessException:
// Der aktuelle Prozess hat keinen Zugriff zum Öffnen der Datei.
[SecuritySafeCritical]
public void SetAccessControl(FileSecurity fileSecurity);
//
// Zusammenfassung:
// Legt die Länge dieses Streams auf den angegebenen Wert fest.
//
// Parameter:
// value:
// Die neue Länge des Streams.
//
// Ausnahmen:
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten.
//
// System.NotSupportedException:
// Der Stream unterstützt weder Schreib- noch Suchvorgänge.
//
// System.ArgumentOutOfRangeException:
// Es wurde versucht, den value-Parameter auf einen kleineren Wert als 0 festzulegen.
[SecuritySafeCritical]
public override void SetLength(long value);
//
// Zusammenfassung:
// Ermöglicht anderen Prozessen den Zugriff auf die gesamte Datei oder einen
// Teil der Datei, die zuvor gesperrt war.
//
// Parameter:
// position:
// Der Anfang des zu entsperrenden Bereichs.
//
// length:
// Der zu entsperrende Bereich.
//
// Ausnahmen:
// System.ArgumentOutOfRangeException:
// position oder length ist negativ.
[SecuritySafeCritical]
public virtual void Unlock(long position, long length);
//
// Zusammenfassung:
// Schreibt einen Block von Bytes unter Verwendung von gepufferten Daten in
// diesen Stream.
//
// Parameter:
// array:
// Der Puffer mit den Daten, die in den Stream geschrieben werden sollen.
//
// offset:
// Der nullbasierte Byteoffset im array, ab dem Bytes in den aktuellen Stream
// kopiert werden.
//
// count:
// Die Anzahl an Bytes, die in den aktuellen Stream geschrieben werden sollen.
//
// Ausnahmen:
// System.ArgumentNullException:
// array hat den Wert null.
//
// System.ArgumentException:
// offset und count bezeichnen einen ungültigen Bereich in array.
//
// System.ArgumentOutOfRangeException:
// offset oder count ist negativ.
//
// System.IO.IOException:
// Ein E/A-Fehler ist aufgetreten. - oder -Ein anderer Thread hat ggf. eine
// unerwartete Änderung an der Position des vom Betriebssystem verwendeten Dateihandles
// bewirkt.
//
// System.ObjectDisposedException:
// Der Stream ist geschlossen.
//
// System.NotSupportedException:
// Die aktuelle Instanz des Streams unterstützt keine Schreibvorgänge.
[SecuritySafeCritical]
public override void Write(byte[] array, int offset, int count);
//
// Zusammenfassung:
// Schreibt ein Byte an die aktuelle Position im Dateistream.
//
// Parameter:
// value:
// Ein Byte, das in den Stream geschrieben werden soll.
//
// Ausnahmen:
// System.ObjectDisposedException:
// Der Stream ist geschlossen.
//
// System.NotSupportedException:
// Der Stream unterstützt keine Schreibvorgänge.
[SecuritySafeCritical]
public override void WriteByte(byte value);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment