Kelas CSharedFile
Kelas turunan CMemFile yang mendukung file memori bersama.
Sintaks
class CSharedFile : public CMemFile
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CSharedFile::CSharedFile | Membuat CSharedFile objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CSharedFile::D etach | Menutup file memori bersama dan mengembalikan handel blok memorinya. |
CSharedFile::SetHandle | Melampirkan file memori bersama ke blok memori. |
Keterangan
File memori berulah seperti file disk. Perbedaannya adalah, file memori disimpan dalam RAM daripada pada disk. File memori berguna untuk penyimpanan sementara yang cepat, atau untuk mentransfer byte mentah atau objek berseri antara proses independen.
File memori bersama berbeda dari file memori lain dalam memori tersebut untuk file tersebut dialokasikan dengan fungsi Windows GlobalAlloc . Kelas CSharedFile
menyimpan data dalam blok memori yang dialokasikan secara global (dibuat menggunakan GlobalAlloc
), dan blok memori ini dapat dibagikan menggunakan DDE, Clipboard, atau operasi transfer data seragam OLE/COM lainnya, misalnya, menggunakan IDataObject
.
GlobalAlloc
mengembalikan handel HGLOBAL daripada pointer ke memori, seperti pointer yang dikembalikan oleh malloc. Handel HGLOBAL diperlukan dalam aplikasi tertentu. Misalnya, untuk menempatkan data di Clipboard, Anda memerlukan handel HGLOBAL.
CSharedFile
tidak menggunakan file yang dipetakan memori, dan data tidak dapat dibagikan secara langsung di antara proses.
CSharedFile
objek dapat secara otomatis mengalokasikan memori mereka sendiri. Atau, Anda dapat melampirkan blok memori Anda sendiri ke CSharedFile
objek dengan memanggil CSharedFile::SetHandle. Dalam kedua kasus, memori untuk menumbuhkan file memori secara otomatis dialokasikan dalam nGrowBytes
kenaikan berukuran -jika nGrowBytes
bukan nol.
Untuk informasi selengkapnya, lihat artikel File di MFC dan Penanganan File di Referensi Pustaka Run-Time.
Hierarki Warisan
CSharedFile
Persyaratan
Header: afxadv.h
CSharedFile::CSharedFile
Membuat CSharedFile
objek dan mengalokasikan memori untuk objek tersebut.
CSharedFile(
UINT nAllocFlags = GMEM_DDESHARE | GMEM_MOVEABLE,
UINT nGrowBytes = 4096);
Parameter
nAllocFlags
Bendera yang menunjukkan bagaimana memori akan dialokasikan. Lihat GlobalAlloc untuk daftar nilai bendera yang valid.
nGrowBytes
Kenaikan alokasi memori dalam byte.
CSharedFile::D etach
Panggil fungsi ini untuk menutup file memori dan melepaskannya dari blok memori.
HGLOBAL Detach();
Tampilkan Nilai
Handel blok memori yang berisi isi file memori.
Keterangan
Anda dapat membukanya kembali dengan memanggil SetHandle, menggunakan handel yang dikembalikan oleh Lepaskan.
CSharedFile::SetHandle
Panggil fungsi ini untuk melampirkan blok memori global ke CSharedFile
objek.
void SetHandle(
HGLOBAL hGlobalMemory,
BOOL bAllowGrow = TRUE);
Parameter
hGlobalMemory
Tangani ke memori global yang akan dilampirkan ke CSharedFile
.
bAllowGrow
Menentukan apakah blok memori diizinkan untuk tumbuh.
Keterangan
Jika bAllowGrow bukan nol, ukuran blok memori ditingkatkan seperlunya, misalnya, jika Anda mencoba menulis lebih banyak byte ke file daripada ukuran blok memori.