VBでDirextX7を使用しているのですが。
サーフェスのロック方法について質問させてください。
VCのコードを参考に以下のようなコードを書いたのですが。
引数にNULLは使用できません、などのエラーがでて実行できません。
どなたか、サーフェスのロック方法をご存知でしたら、教えてください。
dim ddsd as DDSURFACEDESC2
lpSurface.Lock(NULL, ddsd, 0, NULL)
Lockの第一引数にはロックする範囲を指定したRECT型を指定します。
どんな用途と条件でロックしようとしているのかわからないですが、
イメージデータ等の書き込みをするならば、こんな感じでしょうか。
Dim rct As RECT
Dim wk() As Byte
Dim ds As DDSURFACEDESC2
With rct
.Left = 0
.Top = 0
.Right = texsz_x - 1
.Bottom = texsz_y - 1
End With
lpSurface.Lock rct, ds, DDLOCK_WAIT Or DDLOCK_WRITEONLY, 0
lpSurface.GetLockedArray wk()
:
wk()にイメージをつっこむ。
:
lpSurface.Unlock rct
回答ありがとう御座いました。
さっそく試してみます。
回答ありがとう御座いました。
ツイート | ![]() |