Retrieves the operating-system file handle that is associated with the specified file descriptor.
intptr_t _get_osfhandle( int fd );
An existing file descriptor.
Returns an operating-system file handle if fd is valid. Otherwise, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, this function returns INVALID_HANDLE_VALUE (-1) and sets errno to EBADF, indicating an invalid file handle. To avoid a compiler warning when the result is used in routines that expect a Win32 file handle, cast it to a HANDLE type.
To close a file whose operating system (OS) file handle is obtained by _get_osfhandle, call _close on the file descriptor fd. Do not call CloseHandle on the return value of this function. The underlying OS file handle is owned by the fd file descriptor, and is closed when _close is called on fd. If the file descriptor is owned by a
FILE * stream, then calling fclose on that
FILE * stream closes both the file descriptor and the underlying OS file handle. In this case, do not call _close on the file descriptor.
For more compatibility information, see Compatibility.