_open_osfhandle
Přidruží popisovač souboru za běhu jazyka C k existujícímu popisovači souborů operačního systému.
Syntaxe
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parametry
osfhandle
Popisovač souboru operačního systému.
flags
Typy operací jsou povolené.
Vrácená hodnota
V případě úspěchu _open_osfhandle
vrátí popisovač souboru za běhu jazyka C. V opačném případě vrátí hodnotu -1.
Poznámky
Funkce _open_osfhandle
přidělí popisovač souboru za běhu jazyka C. Tento popisovač souboru přidruží k popisovači souboru operačního systému určeného osfhandle
. Chcete-li zabránit upozornění kompilátoru, přetypujte osfhandle
argument z HANDLE
.intptr_t
Argument flags
je celočíselné výrazy vytvořené z jedné nebo více konstant manifestu definovaných v <fcntl.h>
. Pomocí bitového operátoru "or" (|
) můžete zkombinovat dvě nebo více konstant manifestu pro vytvoření argumentu flags
.
Tyto konstanty manifestu jsou definovány v <fcntl.h>
:
Konstanta | Popis |
---|---|
_O_APPEND |
Umístí ukazatel souboru na konec souboru před každou operací zápisu. |
_O_RDONLY |
Otevře soubor jen pro čtení. |
_O_TEXT |
Otevře soubor v režimu textu ANSI (přeložený). |
_O_WTEXT |
Otevře soubor v režimu Unicode (přeložený UTF-16). |
Volání _open_osfhandle
přenese vlastnictví popisovače souboru Win32 na popisovač souboru. Zavření souboru otevřeného pomocí volání _open_osfhandle
_close
. Podkladový popisovač souboru operačního systému je také uzavřen voláním _close
. Nevolejte funkci CloseHandle
Win32 na původním popisovači. Pokud popisovač souboru vlastní FILE *
datový proud, volání, které fclose
zavře popisovač souboru i podkladový popisovač. V takovém případě nezavolejte _close
popisovač souboru ani CloseHandle
na původní popisovač.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_open_osfhandle |
<io.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.