Microsoft DirectX 8.0 (Visual Basic) |
DSBCAPS_LOCDEFER フラグで作成されたバッファにリソースを割り当てる。
object.AcquireResources( _ lFlags As Long, _ lEffectsResults() As Long)
失敗した場合はエラーが発生する。Err.Number に設定される値は、次のとおりである。
DSERR_CONTROLUNAVAIL |
DSERR_INVALIDCALL |
DSERR_INVALIDPARAM |
通常、DSBCAPS_LOCDEFER で作成されたバッファには、DirectSoundSecondaryBuffer8.Play が呼び出されるまでリソースが与えられない。遅延バッファにリソースを割り当てるには、DirectSoundSecondaryBuffer8.AcquireResources を使用する。これによって、アプリケーションは、バッファを再生する前に、エフェクトの処理に関する情報を取得してエフェクト パラメータを設定できる。
このメソッドが失敗すると、lEffectsResults で、各エフェクトに対して DSFXF_PRESENT または DSFXR_UNKNOWN が返される。これらの値を調べることによって、失敗の原因となったエフェクトを特定できる。
リソースが割り当てられた未再生のバッファは、Play メソッドに渡されるボイス管理フラグによって早めに終了される候補にならない。
既に AcquireResources が呼び出されたバッファで、繰り返し AcquireResources が呼び出された場合、エフェクトのステータスは返されるが、それ以上のリソースは割り当てられない。
再生が停止すると、リソースは解放される。
ハードウェア アクセラレーションを利用できないシステムで、DSBCAPS_LOCHARDWARE フラグを使ってバッファのリソースを取得しようとすると、メソッドは失敗し、オペレーティング システムに応じて DSERR_CONTROLUNAVAIL または DSERR_INVALIDCALL を返す。