Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengaitkan pendeskripsi file run-time C dengan handel file sistem operasi yang ada.
Sintaks
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parameter
osfhandle
Handel file sistem operasi.
flags
Jenis operasi yang diizinkan.
Nilai hasil
Jika berhasil, _open_osfhandle mengembalikan pendeskripsi file run-time C. Jika tidak, ia mengembalikan -1.
Keterangan
Fungsi ini _open_osfhandle mengalokasikan deskriptor file run-time C. Ini mengaitkan deskriptor file ini dengan handel file sistem operasi yang ditentukan oleh osfhandle. Untuk menghindari peringatan kompilator, transmisikan osfhandle argumen dari HANDLE ke intptr_t. Argumen flags adalah ekspresi bilangan bulat yang terbentuk dari satu atau beberapa konstanta manifes yang ditentukan dalam <fcntl.h>. Anda dapat menggunakan operator "atau" (|) bitwise untuk menggabungkan dua atau beberapa konstanta manifes untuk membentuk flags argumen.
Konstanta manifes ini didefinisikan dalam <fcntl.h>:
| Terus-menerus | Deskripsi |
|---|---|
_O_APPEND |
Memposisikan penunjuk file ke akhir file sebelum setiap operasi tulis. |
_O_RDONLY |
Membuka file untuk dibaca saja. |
_O_TEXT |
Membuka file dalam mode teks ANSI (diterjemahkan). |
_O_WTEXT |
Membuka file dalam mode Unicode (diterjemahkan UTF-16). |
Panggilan _open_osfhandle mentransfer kepemilikan handel file Win32 ke pendeskripsi file. Untuk menutup file yang dibuka dengan menggunakan _open_osfhandle, panggil _close. Handel file OS yang mendasar juga ditutup oleh panggilan ke _close. Jangan panggil fungsi CloseHandle Win32 pada handel asli. Jika pendeskripsi file dimiliki oleh FILE * aliran, maka panggilan untuk fclose menutup pendeskripsi file dan handel yang mendasar. Dalam hal ini, jangan panggil _close pendeskripsi file atau CloseHandle pada handel asli.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
| Rutin | Header yang diperlukan |
|---|---|
_open_osfhandle |
<io.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.