Bagikan melalui


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

CHandle

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.

Baca juga

Sampel Marquee
Gambaran Umum Kelas
Kelas CHandle