CMemFile::Attach

โมฆะแนบ (ไบต์ * lpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);

พารามิเตอร์

lpBuffer

ชี้การบัฟเฟอร์จะแนบCMemFile?

nBufferSize

ค่า integer ที่ระบุขนาดของบัฟเฟอร์ไบต์?

nGrowBytes

การเพิ่มการจัดสรรหน่วยความจำในไบต์?

หมายเหตุ

เรียกใช้ฟังก์ชันนี้เพื่อแนบบล็อกของหน่วยความจำCMemFile ทำให้เกิดCMemFileการใช้บล็อกของหน่วยความจำเป็นหน่วยความจำ?

ถ้าnGrowBytes 0, CMemFileจะตั้งค่าความยาวของไฟล์เป็นnBufferSize ซึ่งหมายความ ว่า จะใช้ข้อมูลในบล็อกหน่วยความจำก่อนจะถูกแนบกับCMemFileเป็นแฟ้ม หน่วยความจำแฟ้มที่สร้างในลักษณะนี้ไม่สามารถจะโต?

เนื่องจากแฟ้มนั้นไม่สามารถโต ควรระวังอย่าไปทำให้CMemFileในการพยายามจะขยายแฟ้ม ตัวอย่างเช่น ไม่เรียกแทนCMemFileของCFile:Writeในการเขียนที่ผ่านมาสิ้นสุด หรือไม่เรียกCFile:SetLengthมีความยาวเกินกว่าnBufferSize?

ถ้ามีค่ามากกว่า 0 nGrowBytes , CMemFileจะละเว้นเนื้อหาของบล็อกหน่วยความจำคุณได้แนบ คุณจะต้องเขียนแทนที่เนื้อหาของแฟ้มหน่วยความจำตั้งแต่ต้นโดยใช้การCMemFileของCFile::Write ถ้าคุณพยายามที่จะเขียนผ่านจุดสิ้นสุดของแฟ้ม หรือแฟ้มการเติบโต โดยการเรียกCMemFileแทนของCFile::SetLength, CMemFileจะขยายการจัดสรรหน่วยความจำน้อยของnGrowBytes การเติบโตการจัดสรรหน่วยความจำจะล้มเหลวถ้าบล็อกของหน่วยความจำคุณส่งไปยังแนบไม่ได้ปันส่วน ด้วยวิธีการเข้ากันได้กับAlloc สามารถทำงานร่วมกับการใช้งานตามค่าเริ่มต้นAllocคุณต้องจัดสรรหน่วยความจำ ด้วยฟังก์ชันไลบรารีรันไทม์ mallocหรือ calloc?

ภาพรวม CMemFile |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength(&N)

Index