File.OpenHandle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
パス、作成モード、読み取り/書き込み、共有のアクセス許可を指定して、 クラスの 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 のインスタンスがカプセル化するファイルの相対パスまたは絶対パス。
- access
- FileAccess
ファイルへのアクセス方法を決定する列挙値のビットごとの組み合わせ。 既定値は Read
- options
- FileOptions
使用する省略可能な SafeFileHandle パラメーターを記述する オブジェクト。
- preallocationSize
- Int64
ファイルの初期割り当てサイズ (バイト単位)。 正の値は、通常のファイルが作成、上書き、または置き換えられる場合にのみ有効です。 負の値は使用できません。 それ以外の場合 (既定値の 0 の値を含む) は無視されます。
戻り値
SafeFileHandle のインスタンス。
例外
path
が null
です。
path
は空の文字列 ("") であるか、空白のみで構成されているか、または 1 つ以上の正しくない文字を含んでいます。
または、 はpath
、NTFS 環境のファイル以外のデバイス (、 などCOM1:
CON:
LPT1:
) を指します。
path
は、NTFS 以外の環境のファイル以外のデバイス (、 などCON:
COM1:
LPT1:
) を指します。
preallocationSize
が負の値です。
または、 、mode
access
、または share
に無効な値が含まれています。
ファイルが見つかりません。たとえば、mode
が Truncate または Open の場合に、path
で指定されたファイルが存在しません。 これらのモードではファイルが既に存在している必要があります。
path
で指定したファイルが既に存在している場合に CreateNew が指定されているなどの I/O エラーが発生しました。
または、ディスクがいっぱいでした (指定されていて、path
通常のファイルを指していた場合preallocationSize
)。
または、ファイルが大きすぎます (指定され、path
通常のファイルを指していた場合preallocationSize
)。
呼び出し元に、必要なアクセス許可がありません。
マップされていないドライブにあるなど、指定されたパスが無効です。
access
が Write または ReadWrite であるのに、ファイルまたはディレクトリが読み取り専用に設定されているなど、指定した path
に対する access
要求がオペレーティング システムで許可されません。
または、 Encrypted は に options
指定されていますが、現在のプラットフォームではファイル暗号化はサポートされていません。
指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
適用対象
.NET