次の方法で共有


_open_osfhandle

更新 : 2007 年 11 月

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

int _open_osfhandle (
   intptr_t osfhandle,
      int flags 
);

パラメータ

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

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

戻り値

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

解説

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

参照

参照

ファイル処理