_open_osfhandle
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.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk