ZeroMemory

機能
メモリブロックを0で初期化
Declare Sub ZeroMemory Lib "kernel32.dll" Alias "RtlZeroMemory" _
(Destination As Any, ByVal Length As Long)
Declare Sub ZeroMemory Lib "kernel32.dll" Alias "RtlZeroMemory" _
(Destination As Integer, ByVal Length As Integer)
引数
Destination
メモリブロックへのポインタ
Length
同、バイト数
備考
Visual Basicでは変数を宣言した段階で初期化される

この関数は構造体を一回で全部初期化したい場合や
特定のメモリ空間を初期化したいときに使うと便利である。
例えば構造体を一回で初期化したいときは次のように使う
Declare Sub ZeroMemory_POINTAPI Lib "kernel32.dll" Alias "RtlZeroMemory" _
(Destination As POINTAPI, ByVal Length As Long)

Dim lpPoint As POINTAPI

lpPoint.x=1
lpPoint.y=110

Call ZeroMemory(lpPoint,Len(lpPoint))

MsgBox "lpPoint.x:" & lpPoint.x & "lpPoint.Y:" & lpPoint.Y


比較的大きな構造体を一回で初期化したいときは便利である。
サンプル
ダウンロード(ZeroMemory.lzh 1.72KB)