Aracılığıyla paylaş


_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_osfhandleaçı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 _closeda 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.

Ayrıca bkz.

Dosya işleme
_get_osfhandle