Kelas CAtlFile
Kelas ini menyediakan pembungkus tipis di sekitar API penanganan file Windows.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CAtlFile : public CHandle
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CAtlFile::CAtlFile | Konstruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CAtlFile::Create | Panggil metode ini untuk membuat atau membuka file. |
CAtlFile::Flush | Panggil metode ini untuk menghapus buffer untuk file dan menyebabkan semua data buffer ditulis ke file. |
CAtlFile::GetOverlappedResult | Panggil metode ini untuk mendapatkan hasil operasi yang tumpang tindih pada file. |
CAtlFile::GetPosition | Panggil metode ini untuk mendapatkan posisi penunjuk file saat ini dari file. |
CAtlFile::GetSize | Panggil metode ini untuk mendapatkan ukuran dalam byte file. |
CAtlFile::LockRange | Panggil metode ini untuk mengunci wilayah dalam file untuk mencegah proses lain mengaksesnya. |
CAtlFile::Read | Panggil metode ini untuk membaca data dari file yang dimulai dari posisi yang ditunjukkan oleh penunjuk file. |
CAtlFile::Seek | Panggil metode ini untuk memindahkan penunjuk file file. |
CAtlFile::SetSize | Panggil metode ini untuk mengatur ukuran file. |
CAtlFile::UnlockRange | Panggil metode ini untuk membuka kunci wilayah file. |
CAtlFile::Write | Panggil metode ini untuk menulis data ke file yang dimulai pada posisi yang ditunjukkan oleh penunjuk file. |
Anggota Data yang Dilindungi
Nama | Deskripsi |
---|---|
CAtlFile::m_pTM | Penunjuk ke CAtlTransactionManager objek |
Keterangan
Gunakan kelas ini ketika kebutuhan penanganan file relatif sederhana, tetapi lebih banyak abstraksi daripada yang disediakan Windows API, tanpa menyertakan dependensi MFC.
Hierarki Warisan
CAtlFile
Persyaratan
Header: atlfile.h
CAtlFile::CAtlFile
Konstruktor.
CAtlFile() throw();
CAtlFile(CAtlTransactionManager* pTM = NULL) throw();
CAtlFile(CAtlFile& file) throw();
explicit CAtlFile(HANDLE hFile) throw();
Parameter
file
Objek file.
hFile
Handel file.
pTM
Penunjuk ke objek CAtlTransactionManager
Keterangan
Konstruktor salinan mentransfer kepemilikan handel file dari objek asli CAtlFile
ke objek yang baru dibangun.
CAtlFile::Create
Panggil metode ini untuk membuat atau membuka file.
HRESULT Create(
LPCTSTR szFilename,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
HANDLE hTemplateFile = NULL) throw();
Parameter
szFilename
Nama filenya.
dwDesiredAccess
Akses yang diinginkan. Lihat dwDesiredAccess di CreateFile di Windows SDK.
dwShareMode
Mode berbagi. Lihat dwShareMode di CreateFile
.
dwCreationDisposition
Disposisi pembuatan. Lihat dwCreationDisposition di CreateFile
.
dwFlagsAndAttributes
Bendera dan atribut. Lihat dwFlagsAndAttributes di CreateFile
.
lpsa
Atribut keamanan. Lihat lpSecurityAttributes di CreateFile
.
hTemplateFile
File templat. Lihat hTemplateFile di CreateFile
.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil CreateFile untuk membuat atau membuka file.
CAtlFile::Flush
Panggil metode ini untuk menghapus buffer untuk file dan menyebabkan semua data buffer ditulis ke file.
HRESULT Flush() throw();
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil FlushFileBuffers untuk menghapus data yang di-buffer ke file.
CAtlFile::GetOverlappedResult
Panggil metode ini untuk mendapatkan hasil operasi yang tumpang tindih pada file.
HRESULT GetOverlappedResult(
LPOVERLAPPED pOverlapped,
DWORD& dwBytesTransferred,
BOOL bWait) throw();
Parameter
pOverlapped
Struktur yang tumpang tindih. Lihat lpOverlapped di GetOverlappedResult di Windows SDK.
dwBytesTransferred
Byte ditransfer. Lihat lpNumberOfBytesTransferred di GetOverlappedResult
.
bWait
Opsi tunggu. Lihat bWait di GetOverlappedResult
.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil GetOverlappedResult untuk mendapatkan hasil operasi yang tumpang tindih pada file.
CAtlFile::GetPosition
Panggil metode ini untuk mendapatkan posisi penunjuk file saat ini.
HRESULT GetPosition(ULONGLONG& nPos) const throw();
Parameter
nPos
Posisi dalam byte.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil SetFilePointer untuk mendapatkan posisi penunjuk file saat ini.
CAtlFile::GetSize
Panggil metode ini untuk mendapatkan ukuran dalam byte file.
HRESULT GetSize(ULONGLONG& nLen) const throw();
Parameter
nLen
Jumlah byte dalam file.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil GetFileSize untuk mendapatkan ukuran dalam byte file.
CAtlFile::LockRange
Panggil metode ini untuk mengunci wilayah dalam file untuk mencegah proses lain mengaksesnya.
HRESULT LockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameter
nPos
Posisi dalam file di mana kunci harus dimulai.
nCount
Panjang rentang byte yang akan dikunci.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil LockFile untuk mengunci wilayah dalam file. Mengunci byte dalam file mencegah akses ke byte tersebut oleh proses lain. Anda dapat mengunci lebih dari satu wilayah file, tetapi tidak ada wilayah yang tumpang tindih yang diizinkan. Saat Anda membuka kunci wilayah, menggunakan CAtlFile::UnlockRange, rentang byte harus sesuai persis dengan wilayah yang sebelumnya dikunci. LockRange
tidak menggabungkan wilayah yang berdekatan; jika dua wilayah terkunci berdekatan, Anda harus membuka kunci masing-masing secara terpisah.
CAtlFile::m_pTM
Penunjuk CAtlTransactionManager
ke objek.
CAtlTransactionManager* m_pTM;
Keterangan
CAtlFile::Read
Panggil metode ini untuk membaca data dari file yang dimulai dari posisi yang ditunjukkan oleh penunjuk file.
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();
Parameter
pBuffer
Penunjuk ke buffer yang akan menerima data yang dibaca dari file.
nBufSize
Ukuran buffer dalam byte.
nBytesRead
Jumlah byte yang dibaca.
pOverlapped
Struktur yang tumpang tindih. Lihat lpOverlapped di ReadFile di Windows SDK.
pfnCompletionRoutine
Rutinitas penyelesaian. Lihat lpCompletionRoutine di ReadFileEx di Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Tiga formulir pertama memanggil ReadFile, readFileEx terakhir untuk membaca data dari file. Gunakan CAtlFile::Seek untuk memindahkan penunjuk file.
CAtlFile::Seek
Panggil metode ini untuk memindahkan penunjuk file file.
HRESULT Seek(
LONGLONG nOffset,
DWORD dwFrom = FILE_CURRENT) throw();
Parameter
nOffset
Offset dari titik awal yang diberikan oleh dwFrom.
dwFrom
Titik awal (FILE_BEGIN, FILE_CURRENT, atau FILE_END).
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil SetFilePointer untuk memindahkan penunjuk file.
CAtlFile::SetSize
Panggil metode ini untuk mengatur ukuran file.
HRESULT SetSize(ULONGLONG nNewLen) throw();
Parameter
nNewLen
Panjang baru file dalam byte.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil SetFilePointer dan SetEndOfFile untuk mengatur ukuran file. Saat dikembalikan, penunjuk file diposisikan di akhir file.
CAtlFile::UnlockRange
Panggil metode ini untuk membuka kunci wilayah file.
HRESULT UnlockRange(ULONGLONG nPos, ULONGLONG nCount) throw();
Parameter
nPos
Posisi dalam file di mana pembuka kunci harus dimulai.
nCount
Panjang rentang byte yang akan dibuka kuncinya.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Memanggil UnlockFile untuk membuka kunci wilayah file.
CAtlFile::Write
Panggil metode ini untuk menulis data ke file yang dimulai pada posisi yang ditunjukkan oleh penunjuk file.
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();
Parameter
pBuffer
Buffer yang berisi data yang akan ditulis ke file.
nBufSize
Jumlah byte yang akan ditransfer dari buffer.
pOverlapped
Struktur yang tumpang tindih. Lihat lpOverlapped di WriteFile di Windows SDK.
pfnCompletionRoutine
Rutinitas penyelesaian. Lihat lpCompletionRoutine di WriteFileEx di Windows SDK.
pnBytesWritten
Byte ditulis.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Tiga formulir pertama memanggil WriteFile, yang terakhir memanggil WriteFileEx untuk menulis data ke file. Gunakan CAtlFile::Seek untuk memindahkan penunjuk file.