IDirectSound8::CreateSoundBuffer

サンプリング オーディオを管理するために、サウンド バッファ オブジェクトを作成する。

構文

  HRESULT CreateSoundBuffer(
  LPCDSBUFFERDESC
   pcDSBufferDesc
  ,
  LPDIRECTSOUNDBUFFER
   * ppDSBuffer
  ,
  LPUNKNOWN
   pUnkOuter 

  );

パラメータ

pcDSBufferDesc

作成するサウンド バッファが記述されている DSBUFFERDESC 構造体のアドレス。

ppDSBuffer

新しいバッファ オブジェクトの IDirectSoundBuffer インターフェイスを受け取る変数のアドレス。IDirectSoundBuffer8 を取得するには、QueryInterface を使う。IDirectSoundBuffer8 は、プライマリ バッファには利用できない。

pUnkOuter

COM 集成体に対する制御オブジェクトの IUnknown インターフェイスのアドレス。NULL でなければならない。

戻り値

成功した場合は DS_OK を返す。要求した 3D アルゴリズムを利用できず、ステレオ パンが代用された場合は、DS_NO_VIRTUALIZATION を返す。DSBUFFERDESCguid3DAlgorithm メンバの記述を参照すること。

失敗した場合は、次の表に示すエラー値のいずれかを返す。

リターン コード
DSERR_ALLOCATED
DSERR_BADFORMAT
DSERR_BUFFERTOOSMALL
DSERR_CONTROLUNAVAIL
DSERR_DS8_REQUIRED
DSERR_INVALIDCALL
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_OUTOFMEMORY
DSERR_UNINITIALIZED
DSERR_UNSUPPORTED

注意

DirectSound は、バッファの内容を初期化しない。したがって、アプリケーションは、バッファに無音が含まれていると想定してはならない。

ハードウェア アクセラレーションを利用できないシステムで DSBCAPS_LOCHARDWARE フラグを使ってバッファを作成しようとすると、メソッドは失敗し、オペレーティング システムに応じて DSERR_CONTROLUNAVAIL または DSERR_INVALIDCALL を返す。

要件

  ヘッダー:dsound.h で宣言。

参照