Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Asocia un descriptor de archivo en tiempo de ejecución de C con un identificador de archivo del sistema operativo existente.
Sintaxis
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parámetros
osfhandle
Identificador de archivo del sistema operativo.
flags
Tipos de operaciones permitidas.
Valor devuelto
Si se realiza correctamente, _open_osfhandle
devuelve un descriptor de archivo en tiempo de ejecución de C. De lo contrario, devuelve -1.
Comentarios
La función _open_osfhandle
asigna un descriptor de archivo en tiempo de ejecución de C. Asocia este descriptor de archivo al identificador de archivo del sistema operativo especificado por osfhandle
. Para evitar una advertencia del compilador, convierta el argumento osfhandle
de HANDLE
a intptr_t
. El argumento flags
es una expresión de entero formada por una o varias de las constantes del manifiesto, definidas en <fcntl.h>
. Puede usar el operador "or" (|
) bit a bit para combinar dos o más constantes de manifiesto a fin de formar el argumento flags
.
Estas constantes de manifiesto se definen en <fcntl.h>
:
Constante | Descripción |
---|---|
_O_APPEND |
Coloca un puntero de archivo al final del archivo antes de cada operación de escritura. |
_O_RDONLY |
Abre el archivo únicamente para leerlo. |
_O_TEXT |
Abre el archivo en modo de texto ANSI (traducido). |
_O_WTEXT |
Abre el archivo en modo Unicode (UTF-16 traducido). |
Con la llamada _open_osfhandle
se transfiere la propiedad del identificador de archivos de Win32 al descriptor del archivo. Para cerrar un archivo abierto mediante _open_osfhandle
, llame a _close
. El identificador de archivos del sistema operativo subyacente también se cierra mediante una llamada a _close
. No llame a la función de Win32 CloseHandle
en el identificador original. Si el descriptor del archivo pertenece a un flujo FILE *
, al llamar a fclose
se cerrará tanto el descriptor del archivo como el identificador subyacente. En este caso, no llame a _close
en el descriptor del archivo ni a CloseHandle
en el identificador original.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Requisitos
Routine | Encabezado necesario |
---|---|
_open_osfhandle |
<io.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.