4 #include <internal/file.h>
13 HANDLE hProcess
= GetCurrentProcess();
18 hFile
= (HANDLE
)_get_osfhandle(handle
);
19 if (hFile
== INVALID_HANDLE_VALUE
) {
23 mode
= __fileno_getmode(handle
);
24 result
= DuplicateHandle(hProcess
,
29 mode
& FNOINHERIT
? FALSE
: TRUE
,
30 DUPLICATE_SAME_ACCESS
);
31 if (result
== FALSE
) {
32 _dosmaperr(GetLastError());
36 fd
= alloc_fd(hFile
, mode
);