Kelas CAtlFileMappingBase
Kelas ini mewakili file yang dipetakan memori.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
class CAtlFileMappingBase
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CAtlFileMappingBase::CAtlFileMappingBase | Konstruktor. |
CAtlFileMappingBase::~CAtlFileMappingBase | Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CAtlFileMappingBase::CopyFrom | Panggil metode ini untuk menyalin dari objek pemetaan file. |
CAtlFileMappingBase::GetData | Panggil metode ini untuk mendapatkan data dari objek pemetaan file. |
CAtlFileMappingBase::GetHandle | Panggil metode ini untuk mengembalikan handel file. |
CAtlFileMappingBase::GetMappingSize | Panggil metode ini untuk mendapatkan ukuran pemetaan dari objek pemetaan file. |
CAtlFileMappingBase::MapFile | Panggil metode ini untuk membuat objek pemetaan file. |
CAtlFileMappingBase::MapSharedMem | Panggil metode ini untuk membuat objek pemetaan file yang mengizinkan akses penuh ke semua proses. |
CAtlFileMappingBase::OpenMapping | Panggil metode ini untuk mengembalikan handel ke objek pemetaan file. |
CAtlFileMappingBase::Unmap | Panggil metode ini untuk membatalkan peta objek pemetaan file. |
Operator Publik
Nama | Deskripsi |
---|---|
CAtlFileMappingBase::operator = | Mengatur objek pemetaan file saat ini ke objek pemetaan file lain. |
Keterangan
Pemetaan file adalah asosiasi konten file dengan sebagian ruang alamat virtual proses. Kelas ini menyediakan metode untuk membuat objek pemetaan file yang mengizinkan program mengakses dan berbagi data dengan mudah.
Untuk informasi selengkapnya, lihat Pemetaan File di Windows SDK.
Persyaratan
Header: atlfile.h
CAtlFileMappingBase::CAtlFileMappingBase
Konstruktor.
CAtlFileMappingBase(CAtlFileMappingBase& orig);
CAtlFileMappingBase() throw();
Parameter
orig
Objek pemetaan file asli untuk disalin untuk membuat objek baru.
Keterangan
Membuat objek pemetaan file baru, secara opsional menggunakan objek yang sudah ada. Masih perlu memanggil CAtlFileMappingBase::MapFile untuk membuka atau membuat objek pemetaan file untuk file tertentu.
Contoh
int OpenMyFileMap()
{
// Create the file-mapping object.
CAtlFileMappingBase myFileMap;
// Create a file.
CAtlFile myFile;
myFile.Create(_T("myMapTestFile"),
GENERIC_READ|GENERIC_WRITE|STANDARD_RIGHTS_ALL,
FILE_SHARE_READ|FILE_SHARE_WRITE,
OPEN_ALWAYS);
// The file handle.
HANDLE hFile = (HANDLE)myFile;
// Test the file has opened successfully.
ATLASSERT(hFile != INVALID_HANDLE_VALUE);
// Open the file for file-mapping.
// Must give a size as the file is zero by default.
if (myFileMap.MapFile(hFile,
1024,
0,
PAGE_READWRITE,
FILE_MAP_READ) != S_OK)
{
CloseHandle(hFile);
return 0;
}
// Confirm the size of the mapping file.
ATLASSERT(myFileMap.GetMappingSize() == 1024);
// Now the file-mapping object is open, a second
// process could access the filemap object to exchange
// data.
return 0;
}
CAtlFileMappingBase::~CAtlFileMappingBase
Destruktor.
~CAtlFileMappingBase() throw();
Keterangan
Membebaskan sumber daya apa pun yang dialokasikan oleh kelas dan memanggil metode CAtlFileMappingBase::Unmap .
CAtlFileMappingBase::CopyFrom
Panggil metode ini untuk menyalin dari objek pemetaan file.
HRESULT CopyFrom(CAtlFileMappingBase& orig) throw();
Parameter
orig
Objek pemetaan file asli untuk disalin.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
CAtlFileMappingBase::GetData
Panggil metode ini untuk mendapatkan data dari objek pemetaan file.
void* GetData() const throw();
Tampilkan Nilai
Mengembalikan penunjuk ke data.
CAtlFileMappingBase::GetHandle
Panggil metode ini untuk mengembalikan handel ke objek pemetaan file.
HANDLE GetHandle() throw ();
Tampilkan Nilai
Mengembalikan handel ke objek pemetaan file.
CAtlFileMappingBase::GetMappingSize
Panggil metode ini untuk mendapatkan ukuran pemetaan dari objek pemetaan file.
SIZE_T GetMappingSize() throw();
Tampilkan Nilai
Mengembalikan ukuran pemetaan.
Contoh
Lihat contoh untuk CAtlFileMappingBase::CAtlFileMappingBase.
CAtlFileMappingBase::MapFile
Panggil metode ini untuk membuka atau membuat objek pemetaan file untuk file yang ditentukan.
HRESULT MapFile(
HANDLE hFile,
SIZE_T nMappingSize = 0,
ULONGLONG nOffset = 0,
DWORD dwMappingProtection = PAGE_READONLY,
DWORD dwViewDesiredAccess = FILE_MAP_READ) throw();
Parameter
hFile
Tangani ke file tempat untuk membuat objek pemetaan. hFile harus valid dan tidak dapat diatur ke INVALID_HANDLE_VALUE.
nMappingSize
Ukuran pemetaan. Jika 0, ukuran maksimum objek pemetaan file sama dengan ukuran file saat ini yang diidentifikasi oleh hFile.
nOffset
Offset file tempat pemetaan akan dimulai. Nilai offset harus kelipatan granularitas alokasi memori sistem.
dwMappingProtection
Perlindungan yang diinginkan untuk tampilan file ketika file dipetakan. Lihat flProtect di CreateFileMapping di Windows SDK.
dwViewDesiredAccess
Menentukan jenis akses ke tampilan file dan, oleh karena itu, perlindungan halaman yang dipetakan oleh file. Lihat dwDesiredAccess di MapViewOfFileEx di Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Setelah objek pemetaan file dibuat, ukuran file tidak boleh melebihi ukuran objek pemetaan file; jika ya, tidak semua konten file akan tersedia untuk dibagikan. Untuk detail selengkapnya, lihat CreateFileMapping dan MapViewOfFileEx di Windows SDK.
Contoh
Lihat contoh untuk CAtlFileMappingBase::CAtlFileMappingBase.
CAtlFileMappingBase::MapSharedMem
Panggil metode ini untuk membuat objek pemetaan file yang mengizinkan akses penuh ke semua proses.
HRESULT MapSharedMem(
SIZE_T nMappingSize,
LPCTSTR szName,
BOOL* pbAlreadyExisted = NULL,
LPSECURITY_ATTRIBUTES lpsa = NULL,
DWORD dwMappingProtection = PAGE_READWRITE,
DWORD dwViewDesiredAccess = FILE_MAP_ALL_ACCESS) throw();
Parameter
nMappingSize
Ukuran pemetaan. Jika 0, ukuran maksimum objek pemetaan file sama dengan ukuran objek pemetaan file saat ini yang diidentifikasi oleh szName.
szName
Nama objek pemetaan.
pbAlreadyExisted
Menunjuk ke nilai BOOL yang diatur ke TRUE jika objek pemetaan sudah ada.
lpsa
Penunjuk ke SECURITY_ATTRIBUTES
struktur yang menentukan apakah handel yang dikembalikan dapat diwariskan oleh proses anak. Lihat lpAttributes di CreateFileMapping di Windows SDK.
dwMappingProtection
Perlindungan yang diinginkan untuk tampilan file, ketika file dipetakan. Lihat flProtect di CreateFileMapping
Windows SDK.
dwViewDesiredAccess
Menentukan jenis akses ke tampilan file dan, oleh karena itu, perlindungan halaman yang dipetakan oleh file. Lihat dwDesiredAccess di MapViewOfFileEx di Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
MapShareMem
memungkinkan objek pemetaan file yang ada, yang dibuat oleh CreateFileMapping, untuk dibagikan di antara proses.
CAtlFileMappingBase::OpenMapping
Panggil metode ini untuk membuka objek pemetaan file bernama untuk file yang ditentukan.
HRESULT OpenMapping(
LPCTSTR szName,
SIZE_T nMappingSize,
ULONGLONG nOffset = 0,
DWORD dwViewDesiredAccess = FILE_MAP_ALL_ACCESS) throw();
Parameter
szName
Nama objek pemetaan. Jika ada handel terbuka ke objek pemetaan file dengan nama ini dan deskriptor keamanan pada objek pemetaan tidak bertentangan dengan parameter dwViewDesiredAccess , operasi terbuka berhasil.
nMappingSize
Ukuran pemetaan. Jika 0, ukuran maksimum objek pemetaan file sama dengan ukuran objek pemetaan file saat ini yang diidentifikasi oleh szName.
nOffset
Offset file tempat pemetaan akan dimulai. Nilai offset harus kelipatan granularitas alokasi memori sistem.
dwViewDesiredAccess
Menentukan jenis akses ke tampilan file dan, oleh karena itu, perlindungan halaman yang dipetakan oleh file. Lihat dwDesiredAccess di MapViewOfFileEx di Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Dalam build debug, kesalahan pernyataan akan terjadi jika parameter input tidak valid.
CAtlFileMappingBase::operator =
Mengatur objek pemetaan file saat ini ke objek pemetaan file lain.
CAtlFileMappingBase& operator=(CAtlFileMappingBase& orig);
Parameter
orig
Objek pemetaan file saat ini.
Tampilkan Nilai
Mengembalikan referensi ke objek saat ini.
CAtlFileMappingBase::Unmap
Panggil metode ini untuk membatalkan peta objek pemetaan file.
HRESULT Unmap() throw();
Tampilkan Nilai
Mengembalikan S_OK saat berhasil, atau kesalahan HRESULT saat gagal.
Keterangan
Lihat UnmapViewOfFile di Windows SDK untuk detail selengkapnya.
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk