Share via


File.OpenHandle メソッド

定義

パス、作成モード、読み取り/書き込み、共有のアクセス許可を指定して、 クラスの SafeFileHandle 新しいインスタンスを初期化します。他の SafeFileHandles へのアクセスは、同じファイル、追加のファイル オプション、割り当てサイズに対して持つことができます。

public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenHandle (string path, System.IO.FileMode mode = System.IO.FileMode.Open, System.IO.FileAccess access = System.IO.FileAccess.Read, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None, long preallocationSize = 0);
static member OpenHandle : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions * int64 -> Microsoft.Win32.SafeHandles.SafeFileHandle
Public Shared Function OpenHandle (path As String, Optional mode As FileMode = System.IO.FileMode.Open, Optional access As FileAccess = System.IO.FileAccess.Read, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None, Optional preallocationSize As Long = 0) As SafeFileHandle

パラメーター

path
String

現在 SafeFileHandle のインスタンスがカプセル化するファイルの相対パスまたは絶対パス。

mode
FileMode

ファイルを開く方法または作成する方法を決定する列挙値の 1 つ。 既定値は Open

access
FileAccess

ファイルへのアクセス方法を決定する列挙値のビットごとの組み合わせ。 既定値は Read

share
FileShare

ファイルがどのようにプロセスに共有されるかを決定する列挙値のビットごとの組み合わせ。 既定値は Read です。

options
FileOptions

使用する省略可能な SafeFileHandle パラメーターを記述する オブジェクト。

preallocationSize
Int64

ファイルの初期割り当てサイズ (バイト単位)。 正の値は、通常のファイルが作成、上書き、または置き換えられる場合にのみ有効です。 負の値は使用できません。 それ以外の場合 (既定値の 0 の値を含む) は無視されます。

戻り値

SafeFileHandle のインスタンス。

例外

pathnullです。

path は空の文字列 ("") であるか、空白のみで構成されているか、または 1 つ以上の正しくない文字を含んでいます。 または、 はpath、NTFS 環境のファイル以外のデバイス (、 などCOM1:CON:LPT1:) を指します。

pathは、NTFS 以外の環境のファイル以外のデバイス (、 などCON:COM1:LPT1:) を指します。

preallocationSize が負の値です。 または、 、modeaccess、または share に無効な値が含まれています。

ファイルが見つかりません。たとえば、modeTruncate または Open の場合に、path で指定されたファイルが存在しません。 これらのモードではファイルが既に存在している必要があります。

path で指定したファイルが既に存在している場合に CreateNew が指定されているなどの I/O エラーが発生しました。 または、ディスクがいっぱいでした (指定されていて、path通常のファイルを指していた場合preallocationSize)。 または、ファイルが大きすぎます (指定され、path通常のファイルを指していた場合preallocationSize)。

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

マップされていないドライブにあるなど、指定されたパスが無効です。

accessWrite または ReadWrite であるのに、ファイルまたはディレクトリが読み取り専用に設定されているなど、指定した path に対する access 要求がオペレーティング システムで許可されません。 または、 Encrypted は に options指定されていますが、現在のプラットフォームではファイル暗号化はサポートされていません。

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

適用対象