CAtlFile Sınıfı
Bu sınıf, Windows dosya işleme API'sinin çevresinde ince bir sarmalayıcı sağlar.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CAtlFile : public CHandle
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CAtlFile::CAtlFile | Oluşturucu. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CAtlFile::Create | Dosya oluşturmak veya açmak için bu yöntemi çağır. |
CAtlFile::Flush | Dosyanın arabelleklerini temizlemek ve arabelleğe alınan tüm verilerin dosyaya yazılması için bu yöntemi çağırın. |
CAtlFile::GetOverlappedResult | Dosyada çakışan bir işlemin sonuçlarını almak için bu yöntemi çağırın. |
CAtlFile::GetPosition | Geçerli dosya işaretçisi konumunu dosyadan almak için bu yöntemi çağırın. |
CAtlFile::GetSize | Dosyanın bayt cinsinden boyutunu almak için bu yöntemi çağırın. |
CAtlFile::LockRange | Diğer işlemlerin dosyaya erişmesini önlemek için dosyadaki bir bölgeyi kilitlemek için bu yöntemi çağırın. |
CAtlFile::Read | Dosya işaretçisi tarafından belirtilen konumdan başlayarak bir dosyadan veri okumak için bu yöntemi çağırın. |
CAtlFile::Seek | Dosyanın dosya işaretçisini taşımak için bu yöntemi çağırın. |
CAtlFile::SetSize | Dosyanın boyutunu ayarlamak için bu yöntemi çağırın. |
CAtlFile::UnlockRange | Dosyanın bir bölgesinin kilidini açmak için bu yöntemi çağırın. |
CAtlFile::Write | Dosya işaretçisi tarafından belirtilen konumdan başlayarak dosyaya veri yazmak için bu yöntemi çağırın. |
Korumalı Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CAtlFile::m_pTM | Nesne işaretçisi CAtlTransactionManager |
Açıklamalar
Dosya işleme gereksinimleri nispeten basit olduğunda, ancak MFC bağımlılıkları dahil etmeden Windows API'sinin sağladığından daha fazla soyutlama gerektiğinde bu sınıfı kullanın.
Devralma Hiyerarşisi
CAtlFile
Gereksinimler
Üst bilgi: atlfile.h
CAtlFile::CAtlFile
Oluşturucu.
CAtlFile() throw();
CAtlFile(CAtlTransactionManager* pTM = NULL) throw();
CAtlFile(CAtlFile& file) throw();
explicit CAtlFile(HANDLE hFile) throw();
Parametreler
dosya
Dosya nesnesi.
hFile
Dosya tanıtıcısı.
pTM
CAtlTransactionManager nesnesinin işaretçisi
Açıklamalar
Kopya oluşturucu, dosya tanıtıcısının sahipliğini özgün CAtlFile
nesneden yeni yapılan nesneye aktarır.
CAtlFile::Create
Dosya oluşturmak veya açmak için bu yöntemi çağır.
HRESULT Create(
LPCTSTR szFilename,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
HANDLE hTemplateFile = NULL) throw();
Parametreler
szFilename
Dosya adı.
dwDesiredAccess
İstenen erişim. Bkz. Windows SDK'sında CreateFile'da dwDesiredAccess.
dwShareMode
Paylaşım modu. bkz. içinde dwShareModeCreateFile
.
dwCreationDisposition
Oluşturma eğilimi. Bkz. içinde CreateFile
dwCreationDisposition.
dwFlagsAndAttributes
Bayraklar ve öznitelikler. Bkz. içinde dwFlagsAndAttributesCreateFile
.
lpsa
Güvenlik öznitelikleri. bkz. içindeki CreateFile
lpSecurityAttributes.
hTemplateFile
Şablon dosyası. Bkz. içinde CreateFile
hTemplateFile.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyayı oluşturmak veya açmak için CreateFile'ı çağırır.
CAtlFile::Flush
Dosyanın arabelleklerini temizlemek ve arabelleğe alınan tüm verilerin dosyaya yazılması için bu yöntemi çağırın.
HRESULT Flush() throw();
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Arabelleğe alınan verileri dosyaya boşaltmak için FlushFileBuffers'ı çağırır.
CAtlFile::GetOverlappedResult
Dosyada çakışan bir işlemin sonuçlarını almak için bu yöntemi çağırın.
HRESULT GetOverlappedResult(
LPOVERLAPPED pOverlapped,
DWORD& dwBytesTransferred,
BOOL bWait) throw();
Parametreler
pOverlapped
Çakışan yapı. Bkz. Windows SDK'sında GetOverlappedResult'ta lpOverlapped.
dwBytesTransferred
Aktarılan baytlar. Bkz . lpNumberOfBytesTransferred içinde GetOverlappedResult
.
bWait
Bekleme seçeneği. Bkz. içinde GetOverlappedResult
bWait.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyada çakışan bir işlemin sonuçlarını almak için GetOverlappedResult öğesini çağırır.
CAtlFile::GetPosition
Geçerli dosya işaretçisi konumunu almak için bu yöntemi çağırın.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parametreler
nPos
Bayt cinsinden konum.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Geçerli dosya işaretçisi konumunu almak için SetFilePointer'ı çağırır.
CAtlFile::GetSize
Dosyanın bayt cinsinden boyutunu almak için bu yöntemi çağırın.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parametreler
nLen
Dosyadaki bayt sayısı.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyanın bayt cinsinden boyutunu almak için GetFileSize'ı çağırır.
CAtlFile::LockRange
Diğer işlemlerin dosyaya erişmesini önlemek için dosyadaki bir bölgeyi kilitlemek için bu yöntemi çağırın.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametreler
nPos
Dosyada kilidin başlaması gereken konum.
nCount
Kilitlenecek bayt aralığının uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyadaki bir bölgeyi kilitlemek için LockFile'ı çağırır. Bir dosyadaki baytların kilitlenmesi, diğer işlemler tarafından bu baytlara erişimi engeller. Dosyanın birden fazla bölgesini kilitleyebilirsiniz, ancak çakışan bölgelere izin verilmez. CAtlFile::UnlockRange kullanarak bir bölgenin kilidini açtığınızda bayt aralığı, daha önce kilitlenmiş olan bölgeye tam olarak karşılık gelir. LockRange
bitişik bölgeleri birleştirmez; iki kilitli bölge bitişikse, her birinin kilidini ayrı ayrı açmanız gerekir.
CAtlFile::m_pTM
Nesne CAtlTransactionManager
işaretçisi.
CAtlTransactionManager* m_pTM;
Açıklamalar
CAtlFile::Read
Dosya işaretçisi tarafından belirtilen konumdan başlayarak bir dosyadan veri okumak için bu yöntemi çağırın.
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
DWORD& nBytesRead) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped) throw();
HRESULT Read(
LPVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped,
LPOVERLAPPED_COMPLETION_ROUTINE pfnCompletionRoutine) throw();
Parametreler
pBuffer
Dosyadan okunan verileri alacak arabelleğe işaretçi.
nBufSize
Bayt cinsinden arabellek boyutu.
nBytesRead
Okunan bayt sayısı.
pOverlapped
Çakışan yapı. Bkz. Windows SDK'sında ReadFile'da lpOverlapped.
pfnCompletionRoutine
Tamamlama yordamı. Bkz. Windows SDK'sında ReadFileEx'te lpCompletionRoutine.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
İlk üç form, dosyadaki verileri okumak için son ReadFileEx olan ReadFile'ı çağırır. Dosya işaretçisini taşımak için CAtlFile::Seek kullanın.
CAtlFile::Seek
Dosyanın dosya işaretçisini taşımak için bu yöntemi çağırın.
HRESULT Seek(
LONGLONG nOffset,
DWORD dwFrom = FILE_CURRENT) throw();
Parametreler
nOffset
dwFrom tarafından verilen başlangıç noktasından uzaklık.
dwFrom
Başlangıç noktası (FILE_BEGIN, FILE_CURRENT veya FILE_END).
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosya işaretçisini taşımak için SetFilePointer'ı çağırır.
CAtlFile::SetSize
Dosyanın boyutunu ayarlamak için bu yöntemi çağırın.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parametreler
nYeniLen
Dosyanın bayt cinsinden yeni uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyanın boyutunu ayarlamak için SetFilePointer ve SetEndOfFile'ı çağırır. Sonuç olarak, dosya işaretçisi dosyanın sonuna konumlandırılır.
CAtlFile::UnlockRange
Dosyanın bir bölgesinin kilidini açmak için bu yöntemi çağırın.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parametreler
nPos
Dosyada kilit açma işleminin başlaması gereken konum.
nCount
Kilidi açılacak bayt aralığının uzunluğu.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
Dosyanın bir bölgesinin kilidini açmak için UnlockFile'ı çağırır.
CAtlFile::Write
Dosya işaretçisi tarafından belirtilen konumdan başlayarak dosyaya veri yazmak için bu yöntemi çağırın.
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped,
LPOVERLAPPED_COMPLETION_ROUTINE pfnCompletionRoutine) throw();
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
DWORD* pnBytesWritten = NULL) throw();
HRESULT Write(
LPCVOID pBuffer,
DWORD nBufSize,
LPOVERLAPPED pOverlapped) throw();
Parametreler
pBuffer
Dosyaya yazılacak verileri içeren arabellek.
nBufSize
Arabellekten aktarılacak bayt sayısı.
pOverlapped
Çakışan yapı. Bkz. Windows SDK'sında WriteFile'da lpOverlapped.
pfnCompletionRoutine
Tamamlama yordamı. Bkz. Windows SDK'sında WriteFileEx'te lpCompletionRoutine.
pnBytesWritten
Yazılan baytlar.
Dönüş Değeri
Başarıda S_OK veya hatada HRESULT hatası döndürür.
Açıklamalar
İlk üç form WriteFile'ı çağırır; son form, dosyaya veri yazmak için WriteFileEx'i çağırır. Dosya işaretçisini taşımak için CAtlFile::Seek kullanın.