メモリブロックを0または指定の値で初期化          <TOP>


メモリブロックを0または指定の値で初期化します。

RtlFillMemory メモリブロックを指定の値で初期化

RtlZeroMemory メモリブロックを0で初期化

 

例では、ZeroMemoryの結果をPrintでは確認できないので、ファイルに書き込みダンプで確認しています。

ダンプで確認

 

'================================================================
'= メモリブロックを0または指定の値で初期化
'=    (Memory.bas)
'================================================================

' メモリブロックを指定の値で初期化
Declare Sub FillMemory Lib "kernel32" Alias "RtlFillMemory" (Destination As Any, ByVal Length&, ByVal Fill As Byte)

' メモリブロックを0で初期化
Declare Sub ZeroMemory Lib "kernel32" Alias "RtlZeroMemory" (Destination As Any, ByVal Length&)

var TestString As String
var ff As Integer

ff = FreeFile
Open "MemoryTest.dat" For Create As ff

TestString = string$(14, "X")
Print "TestString: " & TestString
Print #ff, TestString

FillMemory TestString, Len(TestString), Asc("A")
Print "FillMemory: " & TestString
Print #ff, TestString

ZeroMemory TestString, Len(TestString)
Print "ZeroMemory: " & TestString
Print #ff, TestString

Close
Stop
End