FileStream.Handle FileStream.Handle FileStream.Handle FileStream.Handle Property

定義

警告

この API は現在使われていません。

現在の FileStream オブジェクトによってカプセル化されるファイルのオペレーティング システム ファイル ハンドルを取得します。Gets the operating system file handle for the file that the current FileStream object encapsulates.

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

プロパティ値

この FileStream オブジェクトによってカプセル化されるファイルのオペレーティング システム ファイル ハンドル。または FileStream が閉じられている場合は -1。The operating system file handle for the file encapsulated by this FileStream object, or -1 if the FileStream has been closed.

例外

呼び出し元に、必要なアクセス許可がありません。The caller does not have the required permission.

注釈

このプロパティは、オペレーティングシステムが提供するシステムコール ( ReadFile Windows のなど) で使用するオペレーティングシステムハンドルです。This property is an operating system handle for use with operating-system-provided system calls (such as ReadFile on Windows). などのファイル記述子freadを予期する C ライブラリ関数では機能しません。It will not work with C library functions that expect a file descriptor, such as fread.

オペレーティングシステムハンドルは、呼び出されたFileStreamコンストラクターに応じて、同期的または非同期的に開かれている可能性があります。The operating system handle might have been opened synchronously or asynchronously, depending on which FileStream constructor was called. このハンドルIsAsyncが非同期的に開かれたかどうかを調べるには、プロパティを使用します。Use the IsAsync property to discover whether this handle was opened asynchronously. Win32 では、これは、ハンドルがオーバーラップ IO 用に開かれたことを意味ReadFileWriteFile、との異なるパラメーターを必要とします。In Win32, this means the handle was opened for overlapped IO, and it requires different parameters to ReadFile and WriteFile.

注意事項

データの破損は、 FileStreamが作成され、ハンドルが渡されたときに、何らかの操作によってハンドルのファイルポインターが移動され、 FileStreamが再度使用されると発生する可能性があります。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. 複数のスレッドが同じファイルに同時に書き込むことはFileStreamできません。また、バッファリングコードでは、ハンドルを排他的に制御することを前提としています。Multiple threads cannot safely write to the same file simultaneously, and FileStream buffering code assumes that it exclusively controls the handle. FileStreamは、他IOExceptionFileStreamプロセスがファイルポインターを移動したことをが検出した場合に、をスローすることがあります。FileStream might throw an IOException if FileStream detects that some other process has moved the file pointer. これを回避するには、バッファーに格納されているFileStream可能性があるファイルの部分にデータを書き込まず、メソッドが最後に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.

セキュリティ

SecurityPermission
アンマネージコードにアクセスするための。for the ability to access unmanaged code. 関連付けられた列挙型:UnmanagedCodeセキュリティアクション: InheritanceDemandAssociated enumeration: UnmanagedCode Security action: InheritanceDemand.

SecurityCriticalAttribute
直前の呼び出し元に完全信頼が必要です。requires full trust for the immediate caller. このメンバーは、部分的に信頼されているコードまたは透過的なコードでは使用できません。This member cannot be used by partially trusted or transparent code.

適用対象

こちらもご覧ください