FileStream.Handle Właściwość

Definicja

Przestroga

This property has been deprecated. Please use FileStream's SafeFileHandle property instead. https://go.microsoft.com/fwlink/?linkid=14202

Przestroga

This property has been deprecated. Please use FileStream's SafeFileHandle property instead. http://go.microsoft.com/fwlink/?linkid=14202

Przestroga

Use SafeFileHandle instead

Pobiera dojście do pliku systemu operacyjnego dla pliku, który jest FileStream hermetyzowany z bieżącym obiektem.Gets the operating system file handle for the file that the current FileStream object encapsulates.

public:
 virtual property IntPtr Handle { IntPtr get(); };
[System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public virtual IntPtr Handle { get; }
public virtual IntPtr Handle { get; }
[System.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; }
[System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
[get: System.Security.SecurityCritical]
public virtual IntPtr Handle { get; }
[System.Obsolete("Use SafeFileHandle instead")]
public virtual IntPtr Handle { get; }
[<System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.Handle : nativeint
member this.Handle : nativeint
[<System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.Handle : nativeint
[<System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")>]
[<get: System.Security.SecurityCritical>]
member this.Handle : nativeint
[<System.Obsolete("Use SafeFileHandle instead")>]
member this.Handle : nativeint
Public Overridable ReadOnly Property Handle As IntPtr

Wartość właściwości

IntPtr

Dojście do pliku systemu operacyjnego dla pliku hermetyzowane przez ten FileStream obiekt lub-1, jeśli FileStream zostało zamknięte.The operating system file handle for the file encapsulated by this FileStream object, or -1 if the FileStream has been closed.

Atrybuty

Wyjątki

Obiekt wywołujący nie posiada wymaganych uprawnień.The caller does not have the required permission.

Uwagi

Ta właściwość to dojście systemu operacyjnego do użycia z wywołaniami systemowymi udostępnianymi przez system operacyjny ( ReadFile na przykład w systemie Windows).This property is an operating system handle for use with operating-system-provided system calls (such as ReadFile on Windows). Nie będzie działać z funkcjami biblioteki języka C, które oczekują deskryptora pliku, na przykład fread .It will not work with C library functions that expect a file descriptor, such as fread.

Dojście systemu operacyjnego mogło zostać otwarte synchronicznie lub asynchronicznie, w zależności od tego, który FileStream Konstruktor został wywołany.The operating system handle might have been opened synchronously or asynchronously, depending on which FileStream constructor was called. Użyj IsAsync właściwości, aby stwierdzić, czy to dojście zostało otwarte asynchronicznie.Use the IsAsync property to discover whether this handle was opened asynchronously. W systemie Win32 oznacza to, że dojście zostało otwarte dla nakładających się operacji we/wy i wymaga innych parametrów do ReadFile i WriteFile .In Win32, this means the handle was opened for overlapped IO, and it requires different parameters to ReadFile and WriteFile.

Przestroga

Uszkodzenie danych może wystąpić, gdy FileStream zostanie utworzony, jego uchwyt zostanie przesunięty, a następnie przesunie wskaźnik pliku dojścia, a następnie FileStream zostanie użyty ponownie.Data corruption might occur if a FileStream is created, its handle is passed, some operation moves the handle's file pointer, and then the FileStream is used again. Wiele wątków nie może bezpiecznie zapisywać jednocześnie w tym samym pliku, a FileStream buforowanie kodu zakłada, że tylko kontroluje dojście.Multiple threads cannot safely write to the same file simultaneously, and FileStream buffering code assumes that it exclusively controls the handle. FileStream może zgłosić IOException , jeśli FileStream wykryje, że jakiś inny proces przeniósł wskaźnik pliku.FileStream might throw an IOException if FileStream detects that some other process has moved the file pointer. Aby tego uniknąć, nie należy zapisywać żadnych danych w części pliku, który FileStream może być zbuforowany, i przywrócić wskaźnik pliku do lokalizacji, w której zostały ostatnio wywołane metody FileStream .To avoid this, do not write any data into a portion of the file that FileStream might have buffered, and restore the file pointer to the location it had when methods were last called on FileStream.

Dotyczy