Condividi tramite


_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à).

Vedi anche

Gestione dei file
_get_osfhandle