_get_osfhandle
Načte popisovač souboru operačního systému, který je přidružený k zadanému popisovači souboru.
Syntaxe
intptr_t _get_osfhandle(
int fd
);
Parametry
fd
Popisovač existujícího souboru.
Vrácená hodnota
Vrátí popisovač souboru operačního systému, pokud fd
je platný. V opačném případě se vyvolá neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je možné pokračovat spuštěním, vrátí INVALID_HANDLE_VALUE
se (-1). Nastaví se také errno
na EBADF
hodnotu označující neplatný popisovač souboru. Pokud se chcete vyhnout upozornění, když se výsledek použije jako popisovač souboru Win32, přetypujte ho na HANDLE
typ.
Poznámka
Pokud stdin
, stdout
a stderr
nejsou přidruženy ke streamu (například v aplikaci pro Windows bez okna konzoly), hodnoty popisovače souboru pro tyto datové proudy se vrátí jako _fileno
zvláštní hodnota -2. Podobně platí, že pokud jako parametr popisovače souboru použijete hodnotu 0, 1 nebo 2 místo výsledku volání _fileno
, _get_osfhandle
vrátí také speciální hodnotu -2, pokud popisovač souboru není přidružen k datovému proudu a nenastaví errno
. Nejedná se však o platnou hodnotu popisovače souboru a následná volání, která se pokusí použít, pravděpodobně selžou.
Další informace o EBADF
kódech chyb a dalších kódech chyb naleznete v tématuerrno
, _doserrno
, _sys_errlist
, a _sys_nerr
.
Poznámky
Chcete-li zavřít soubor, jehož operační systém (OS) popisovač souboru je získán voláním _get_osfhandle
_close
popisovače fd
souboru . Nikdy nevolejte CloseHandle
návratové hodnoty této funkce. Popisovač základního souboru operačního systému je vlastněný popisovačem fd
souboru a je zavřený při _close
zavolání fd
. Pokud popisovač souboru vlastní FILE *
datový proud, volání fclose
na tento FILE *
datový proud zavře popisovač souboru i popisovač základního operačního systému. V takovém případě nezavolejte _close
popisovač souboru.
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 |
---|---|
_get_osfhandle |
<io.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Zpracování souborů
_close
_creat
, _wcreat
_dup
, _dup2
_open
, _wopen
_open_osfhandle
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro