_open_osfhandle
Associa un descrittore di file di runtime C a un handle di file del sistema operativo esistente.
Sintassi
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parametri
osfhandle
Handle di file del sistema operativo.
flags
Tipi di operazioni consentite.
Valore restituito
Se ha esito positivo, _open_osfhandle
restituisce un descrittore di file di runtime C. In caso contrario, restituisce -1.
Osservazioni:
La _open_osfhandle
funzione alloca un descrittore di file di runtime C. Associa questo descrittore di file all'handle di file del sistema operativo specificato da osfhandle
. Per evitare un avviso del compilatore, eseguire il cast dell'argomento osfhandle
da HANDLE
a intptr_t
. L'argomento flags
è un'espressione integer formata da una o più costanti manifesto definite in <fcntl.h>
. È possibile usare l'operatore bit per bit "o" () per|
combinare due o più costanti manifesto per formare l'argomento flags
.
Queste costanti manifesto sono definite in <fcntl.h>
:
Costante | Descrizione |
---|---|
_O_APPEND |
Posiziona un puntatore del file alla fine del file prima di ogni operazione di scrittura. |
_O_RDONLY |
Apre il file in sola lettura. |
_O_TEXT |
Apre il file in modalità testo ANSI (tradotto). |
_O_WTEXT |
Apre il file in modalità Unicode (convertito in UTF-16). |
La _open_osfhandle
chiamata trasferisce la proprietà dell'handle di file Win32 al descrittore di file. Per chiudere un file aperto tramite _open_osfhandle
, chiamare _close
. L'handle di file del sistema operativo sottostante viene chiuso anche da una chiamata a _close
. Non chiamare la funzione CloseHandle
Win32 sull'handle originale. Se il descrittore di file è di proprietà di un FILE *
flusso, una chiamata a fclose
chiude sia il descrittore di file che l'handle sottostante. In questo caso, non chiamare _close
sul descrittore di file o CloseHandle
sull'handle originale.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_open_osfhandle |
<io.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).