CMemFile::Attach
呼叫此函式將記憶體區塊加入至 CMemFile。
void Attach(
BYTE* lpBuffer,
UINT nBufferSize,
UINT nGrowBytes = 0
);
參數
lpBuffer
要附加之緩衝區的指標。 CMemFile。nBufferSize
以位元組指定緩衝區大小的整數。nGrowBytes
記憶體配置加入以位元組為單位)。
備註
這會導致 CMemFile 使用記憶體區塊是記憶體中的檔案。
如果 nGrowBytes 為 0, CMemFile 會設定檔案長度為 nBufferSize。 這表示在存放區中的資料,在附加至 CMemFile 前使用為檔案。 在記憶體中建立的檔案不能以這種方式擴充。
因為檔案無法放大,請小心不要讓 CMemFile 嘗試成長檔案。 例如,比 nBufferSize不要呼叫 CMemFile 覆寫 C 檔案: 寫入 撰寫的結尾處或無法縮放與長度的 C 檔案: SetLength 長度。
如果 nGrowBytes 大於 0, CMemFile 會忽略您附加記憶體區塊的內容。 使用 CFile::Write, CMemFile 覆寫您必須從頭開始撰寫記憶體檔案的內容。 如果您嘗試將超過檔案結尾或呼叫 CFile::SetLengthCMemFile 覆寫成長檔案, CMemFile 會成長記憶體配置增加 nGrowBytes。 成長記憶體配置失敗,如果您傳遞至 連結 的記憶體區塊不是使用方法配置的 Alloc相容。 要與 Alloc的預設實作不相容,您必須以配置的執行階段程式庫函式 malloc 或 calloc的記憶體。
需求
Header: afx.h