The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017



The latest version of this topic can be found at _open_osfhandle.

Associates a C run-time file descriptor with an existing operating-system file handle.

      int _open_osfhandle (  
   intptr_t osfhandle,  
   int flags   


Operating-system file handle.

Types of operations allowed.

If successful, _open_osfhandle returns a C run-time file descriptor. Otherwise, it returns –1.

The _open_osfhandle function allocates a C run-time file descriptor and associates it with the operating-system file handle specified by osfhandle. The flags argument is an integer expression formed from one or more of the manifest constants defined in Fcntl.h. When two or more manifest constants are used to form the flags argument, the constants are combined with the bitwise-OR operator ( | ).

Fcntl.h defines the following manifest constants.

Positions a file pointer to the end of the file before every write operation.

Opens the file for reading only.

Opens the file in text (translated) mode.

Opens the file in Unicode (translated UTF-16) mode.

To close a file opened with _open_osfhandle, call _close. The underlying handle is also closed by a call to _close, so it is not necessary to call the Win32 function CloseHandle on the original handle.

RoutineRequired header

For more compatibility information, see Compatibility in the Introduction.

All versions of the C run-time libraries.


File Handling