Platform SDK: DirectX

IDirectSoundBuffer::Unlock

IDirectSoundBuffer::Unlock メソッドは、サウンド バッファをアンロックする。

HRESULT Unlock(
  LPVOID lpvAudioPtr1, 
  DWORD dwAudioBytes1, 
  LPVOID lpvAudioPtr2, 
  DWORD dwAudioBytes2  
);

パラメータ

lpvAudioPtr1
IDirectSoundBuffer::Lock メソッドの lplpvAudioPtr1 パラメータで取得した値のアドレス。
dwAudioBytes1
lpvAudioPtr1 パラメータに実際に書き込まれたバイト数。IDirectSoundBuffer::Lock メソッドが返したバイト数以下とすべきである。
lpvAudioPtr2
IDirectSoundBuffer::Lock メソッドの lplpvAudioPtr2 パラメータで取得した値のアドレス。
dwAudioBytes2
lpvAudioPtr2 パラメータに実際に書き込まれたバイト数。IDirectSoundBuffer::Lock メソッドが返したバイト数以下とすべきである。

戻り値

成功すれば DS_OK、失敗すれば次のエラー値のいずれかを返す。

DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_PRIOLEVELNEEDED

注意

アプリケーションは、IDirectSoundBuffer::Lock IDirectSoundBuffer::Unlock を正しく組み合わせて、IDirectSoundBuffer::Lock メソッドが返したポインタ lpvAudioPtr1 lpvAudioPtr2 の両方を IDirectSoundBuffer::Unlock に渡さなければならない。たとえ 2 番目のポインタに 0 バイトが書き込まれた場合でも、2 番目のポインタは必要である。

アプリケーションは 2 つのポインタに実際に書き込まれたバイト数を、dwAudioBytes1 dwAudioBytes2 の各パラメータに渡さなければならない。

サウンド バッファのロック状態を長時間維持しないよう注意すること。

動作環境

  Windows NT/2000 : Service Pack 3 を適用した Windows NT バージョン 4.0 以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dsound.h で宣言。
  インポート ライブラリ : dsound.lib を使用。

参照

IDirectSoundBufferIDirectSoundBuffer::GetCurrentPositionIDirectSoundBuffer::Lock