_open_osfhandle
Associe un descripteur de fichier runtime C à un handle de fichier de système d’exploitation existant.
Syntaxe
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Paramètres
osfhandle
Handle de fichier du système d’exploitation.
flags
Types d’opération autorisés.
Valeur retournée
En cas de réussite, _open_osfhandle
retourne un descripteur de fichier Runtime C. Sinon, retourne -1.
Notes
La _open_osfhandle
fonction alloue un descripteur de fichier runtime C. Il associe ce descripteur de fichier au handle de fichier du système d’exploitation spécifié par osfhandle
. Pour éviter un avertissement du compilateur, convertissez l’argument osfhandle
HANDLE
en intptr_t
. L’argument flags
est une expression entière formée à partir d’une ou plusieurs constantes de manifeste définies dans <fcntl.h>
. Vous pouvez utiliser l’opérateur « ou » au|
niveau du bit pour combiner deux constantes manifestes ou plus pour former l’argument flags
.
Ces constantes de manifeste sont définies dans <fcntl.h>
:
Constant | Description |
---|---|
_O_APPEND |
Positionne un pointeur de fichier à la fin du fichier avant chaque opération d’écriture. |
_O_RDONLY |
Ouvre le fichier pour un accès en lecture uniquement. |
_O_TEXT |
Ouvre le fichier en mode texte (traduit). |
_O_WTEXT |
Ouvre le fichier en mode Unicode (UTF-16 traduit). |
L’appel _open_osfhandle
transfère la propriété du handle de fichier Win32 au descripteur de fichier. Pour fermer un fichier ouvert à l’aide _open_osfhandle
de , appelez _close
. Le handle de fichier de système d’exploitation sous-jacent est également fermé par un appel à _close
. N’appelez pas la fonction CloseHandle
Win32 sur le handle d’origine. Si le descripteur de fichier appartient à un FILE *
flux, un appel pour fclose
fermer le descripteur de fichier et le handle sous-jacent. Dans ce cas, n’appelez _close
pas le descripteur de fichier ou CloseHandle
sur le handle d’origine.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
_open_osfhandle |
<io.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour