Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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à).