CMemFile對象能夠自動地分配它們的記憶體空間,或通過調用Attach函式為CMemFile對象附加記憶體塊。另一種情形,如果nGrowBytes非零,那么將自動地以nGrowBytes為單位為增加的記憶體檔案分配記憶體。
可以通過提供的指針訪問記憶體塊,此時可以通過調用Detach函式將其從CMemFile對象中分離出來。
CMemFile函式最一般的用途是創建CMemFile對象,並通過調用CFile成員函式來使用它。值得注意的是當創建CMemFile後將自動得打開它:不要調用僅僅用於磁碟檔案的CFile::Open函式,其原因在於沒有使用數據成員CFile::m_hFile。
CFile成員函式Duplicate, LockRange和UnlockRange對於CMemFile無效。如果在CMemFile對象中調用了這些函式,那么將獲得CnotSupported Exception。
CMemFile使用了運行庫函式malloc, realloc,和free來分配、重新分配和釋放記憶體,而原有的memcpy函式在進行讀寫時,可以塊拷貝。如果希望改變這種行為或CMemFile增大檔案的行為,那么應當從CMemFile中派生自己的類,並輔以適當的函式。
#include <afx.h>
CMemFile類的成員
構造函式
CMemFile | 構造一個記憶體檔案對象 |
操作
Attach | 附加記憶體塊到CMemFile中 |
Detach | 從CMemFile中分離記憶體塊,並返回被分離的記憶體塊的指針 |
高級可覆蓋的函式