_open_osfhandle
Ordnet einen C-Laufzeitdateideskriptor einem vorhandenen Dateihandle des Betriebssystems zu.
Syntax
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parameter
osfhandle
Betriebssystemdateihandle.
flags
Zulässige Vorgangsarten.
Rückgabewert
Im Erfolgsfall gibt _open_osfhandle
einen C-Laufzeit-Dateideskriptor zurück. Andernfalls wird –1 zurückgegeben.
Hinweise
Die _open_osfhandle
Funktion weist einen C-Laufzeitdateideskriptor zu. Sie ordnet diesen Dateideskriptor dem betriebssystemspezifischen Dateihandle osfhandle
zu. Um eine Compilerwarnung zu vermeiden, wandeln Sie das osfhandle
Argument in HANDLE
intptr_t
. Das flags
Argument ist ein ganzzahliger Ausdruck, der aus einer oder mehreren der manifestkonstanten gebildet wird, die in <fcntl.h>
. Sie können den bitweisen Operator "or" (|
) verwenden, um zwei oder mehr Manifestkonstanten zu kombinieren, um das flags
Argument zu bilden.
Diese Manifestkonstanten werden in <fcntl.h>
:
Konstante | Beschreibung |
---|---|
_O_APPEND |
Positioniert einen Dateizeiger vor jedem Schreibvorgang am Ende der Datei. |
_O_RDONLY |
Öffnet eine Datei nur zum Lesen. |
_O_TEXT |
Öffnet eine Datei im Textmodus (übersetzt). |
_O_WTEXT |
Öffnet eine Datei in Unicode (übersetzt UTF-16). |
Der _open_osfhandle
Aufruf überträgt den Besitz des Win32-Dateihandle an den Dateideskriptor. Rufen Sie _close
auf, um eine datei zu schließen, die mithilfe von _open_osfhandle
" geöffnet wird. Das zugrunde liegende Betriebssystemdateihandle wird auch durch einen Aufruf von _close
. Rufen Sie die Win32-Funktion CloseHandle
nicht auf dem ursprünglichen Handle auf. Wenn der Dateideskriptor im Besitz eines FILE *
Datenstroms ist, wird sowohl fclose
der Dateideskriptor als auch das zugrunde liegende Handle geschlossen. Rufen _close
Sie in diesem Fall weder den Dateideskriptor noch CloseHandle
das ursprüngliche Handle auf.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_open_osfhandle |
<io.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für