次の方法で共有


_open_osfhandle

C ランタイム ファイル記述子を既存のオペレーティング システムのファイル ハンドルに関連付けます。

int _open_osfhandle (
   intptr_t osfhandle,
   int flags 
);

パラメーター

  • osfhandle
    オペレーティング システムのファイル ハンドル。

  • flags
    許可される操作の種類。

戻り値

正常に終了した場合、_open_osfhandle は C ランタイム ファイル記述子を返します。 それ以外の場合は -1 を返します。

解説

_open_osfhandle 関数は、C ランタイム ファイル記述子を割り当て、osfhandle で指定したオペレーティング システムのファイル ハンドルに関連付けます。 flags 引数は、Fcntl.h で定義された 1 つ以上のマニフェスト定数で構成された整数式です。 flags に 2 つ以上のマニフェスト定数を指定する場合は、ビットごとの OR 演算子 ( | ).

Fcntl.h には、次のマニフェスト定数が定義されています。

  • _O_APPEND
    書き込み操作が行われるたびに、事前にファイル ポインターをファイルの終端に配置します。

  • _O_RDONLY
    ファイルを読み取り専用で開きます。

  • _O_TEXT
    ファイルをテキスト (変換) モードで開きます。

_open_osfhandle によって開いたファイルを閉じるには、_close を呼び出します。 _close を呼び出すことによって基になるハンドルも閉じられるので、基のハンドルに対して Win32 関数 CloseHandle を呼び出す必要はありません。

必要条件

ルーチン

必須ヘッダー

_open_osfhandle

<io.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

同等の .NET Framework 関数

System::IO::FileStream::Handle

参照

参照

ファイル処理