Language

FileStream.Handle プロパティ

定義

注意事項

FileStream.Handle has been deprecated. Use FileStream's SafeFileHandle property instead.

注意事項

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

注意事項

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

現在の FileStream オブジェクトがカプセル化するファイルのオペレーティング システム ファイル ハンドルを取得します。

public:
 virtual property IntPtr Handle { IntPtr get(); };
[System.Obsolete("FileStream.Handle has been deprecated. Use FileStream's SafeFileHandle property 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")]
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; }
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 { [System.Security.SecurityCritical] get; }
[<System.Obsolete("FileStream.Handle has been deprecated. Use FileStream's SafeFileHandle property instead.")>]
member this.Handle : nativeint
[<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
[<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
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
Public Overridable ReadOnly Property Handle As IntPtr

プロパティ値

IntPtr

nativeint

この FileStream オブジェクトによってカプセル化されたファイルのオペレーティング システム ファイル ハンドル。または、 FileStream が閉じられた場合に -1。

属性

例外

呼び出し元に必要なアクセス許可がありません。

注釈

このプロパティは、オペレーティング システムが提供するシステム呼び出し (Windows 上の ReadFile など) で使用するためのオペレーティング システム ハンドルです。 freadなどのファイル記述子を必要とする C ライブラリ関数では機能しません。

オペレーティング システム ハンドルは、どの FileStream コンストラクターが呼び出されたかに応じて、同期的または非同期的に開かれている可能性があります。 IsAsync プロパティを使用して、このハンドルが非同期的に開かれたかどうかを検出します。 Win32 では、これは重複する IO に対してハンドルが開かれたこと、および ReadFile と WriteFileに異なるパラメーターが必要です。

Caution

データの破損は、 FileStream が作成され、そのハンドルが渡され、一部の操作でハンドルのファイル ポインターが移動された後、 FileStream が再び使用された場合に発生する可能性があります。 複数のスレッドが同じファイルに同時に安全に書き込むことができず、 FileStream バッファリング コードはハンドルを排他的に制御することを前提としています。 FileStreamは、IOExceptionが他のプロセスによってファイル ポインターを移動したことが検出された場合、FileStreamをスローする可能性があります。 これを回避するには、 FileStream がバッファーに格納されている可能性があるファイルの一部にデータを書き込まず、 FileStreamでメソッドが最後に呼び出されたときの場所にファイル ポインターを復元します。

適用対象

こちらもご覧ください