CMemFile::Attach

Anhängen void (BYTE * LpBuffer, UINT nBufferSize, UINT nGrowBytes = 0);

Parameter

lpBuffer

Zeiger auf den Puffer CMemFile beizufügen.

nBufferSize

Eine Ganzzahl, die die Größe des Puffers in Bytes angibt.

nGrowBytes

Die Schrittweite Zuweisung Speicher in Byte.

Bemerkungen

Rufen Sie diese Funktion um CMemFileeinen Speicherblock zuordnen. Dies bewirkt, dass CMemFile um den Speicherblock als Speicherdatei verwenden.

Wenn nGrowBytes 0 ist, wird CMemFile nBufferSizeLänge die Datei fest. Dies bedeutet, dass die Daten in den Speicherblock bevor es CMemFile angefügt wurde wie die Datei verwendet werden. Auf diese Weise erstellte Speicherdateien können nicht angebaut werden.

Da die Datei kann nicht angebaut werden, seien Sie vorsichtig, nicht verursachen CMemFile zu versuchen, die Datei vergrößert werden. Beispielsweise rufen Sie nicht die CMemFile überschreibt der CFile:Write hinter dem Ende schreiben oder rufen Sie nicht CFile:SetLength mit einer Länge länger als nBufferSize.

Wenn nGrowBytes größer als 0 ist, ignoriert CMemFile den Inhalt des Speicherblocks, an die Sie angelegt haben. Du musst schreiben, dass der Inhalt der Speicherdatei vom Kratzer unter Verwendung der CMemFile CFile::Writeüberschreiben. Wenn Sie versuchen, über das Ende der Datei schreiben oder wachsen die Datei durch Aufrufen der CMemFile Überschreiben der CFile::SetLength, CMemFile wachsen die Speicherzuordnung in Schritten von nGrowBytes. Wächst die Speicherreservierung fehl, wenn der Speicherblock, die, den Sie Anfügen übergeben, mit einer Methode kompatibel mit Allocreserviert war nicht. Um die Standardimplementierung von Allocvereinbar zu sein, müssen Sie den Speicher mit der Run-Time Bibliothek-Funktion Malloc oder Calloc.

CMemFile ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CMemFile::CMemFile, CMemFile::Detach, CMemFile::Alloc, CFile::Write, CFile::SetLength

Index