_open_osfhandle
Bir C çalışma zamanı dosya tanımlayıcısı ile var olan bir işletim sistemi dosya tanıtıcısını ilişkilendirir.
Sözdizimi
int _open_osfhandle (
intptr_t osfhandle,
int flags
);
Parametreler
osfhandle
İşletim sistemi dosya tanıtıcısı.
flags
İzin verilen işlem türleri.
Dönüş değeri
Başarılı olursa, _open_osfhandle
bir C çalışma zamanı dosya tanımlayıcısı döndürür. Aksi takdirde - 1 döndürür.
Açıklamalar
_open_osfhandle
İşlev bir C çalışma zamanı dosya tanımlayıcısı ayırır. Bu dosya tanımlayıcısını tarafından belirtilen işletim sistemi dosya tanıtıcısıyla ilişkilendirir osfhandle
. Derleyici uyarısını önlemek için, bağımsız değişkenini 'den'e HANDLE
yayınintptr_t
.osfhandle
flags
bağımsız değişkeni, içinde tanımlanan bildirim sabitlerinden bir veya daha fazlasından oluşturulan bir tamsayı ifadesidir<fcntl.h>
. Bağımsız değişkeni oluşturmak üzere iki veya daha fazla bildirim sabitini birleştirmek için bit düzeyinde "veya" (|
) işlecini flags
kullanabilirsiniz.
Bu bildirim sabitleri içinde <fcntl.h>
tanımlanır:
Sabit | Açıklama |
---|---|
_O_APPEND |
Her yazma işleminden önce dosya işaretçisini dosyanın sonuna konumlandırın. |
_O_RDONLY |
Dosyayı yalnızca okumak üzere açar. |
_O_TEXT |
Dosyayı ANSI metin (çevrilmiş) modunda açar. |
_O_WTEXT |
Dosyayı Unicode (çevrilmiş UTF-16) modunda açar. |
Çağrı, _open_osfhandle
Win32 dosya tanıtıcısının sahipliğini dosya tanımlayıcısına aktarır. kullanarak _open_osfhandle
açılan bir dosyayı kapatmak için çağrısında bulunabilirsiniz _close
. Temel alınan işletim sistemi dosya tanıtıcısı, çağrısıyla _close
da kapatılır. Özgün tanıtıcıda Win32 işlevini CloseHandle
çağırmayın. Dosya tanımlayıcısı bir FILE *
akışa aitse, hem dosya tanımlayıcısını fclose
hem de temel alınan tanıtıcıyı kapatma çağrısı yapılır. Bu durumda, dosya tanımlayıcısında veya CloseHandle
özgün tanıtıcıda arama _close
yapmayın.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_open_osfhandle |
<io.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.