DirectSoundFullDuplexCreate8

DirectSoundFullDuplexCreate8 関数は DirectSound オブジェクトと DirectSoundCapture オブジェクトを作成し、IDirectSoundFullDuplex8 インターフェイスを返します。この関数を使うには Microsoft Windows XP が必要です。全二重は他のオペレーティング システムに実装できますが、キャプチャー デバイスとレンダリング デバイスは個別に作成する必要があります。

HRESULT 
DirectSoundFullDuplexCreate8(
  LPCGUID pcGuidCaptureDevice,
  LPCGUID pcGuidRenderDevice,
  LPCDSCBUFFERDESC pcDSCBufferDesc,
  LPCDSBUFFERDESC pcDSBufferDesc,
  HWND hWnd,
  DWORD dwLevel,
  LPDIRECTSOUNDFULLDUPLEX * ppDSFD,
  LPDIRECTSOUNDCAPTUREBUFFER8 * ppDSCBuffer8,
  LPDIRECTSOUNDBUFFER8 * ppDSBuffer8,
  LPUNKNOWN pUnkOuter
);

パラメータ

  • pcGuidCaptureDevice
    サウンド キャプチャー デバイスを識別する GUID のアドレスです。このパラメーターの値は DirectSoundCaptureEnumerate が返す GUID のいずれか、デフォルトのデバイスを指定する NULL、または次のいずれかの値である必要があります。

    説明
    DSDEVID_DefaultCapture システム全体の既定のオーディオ キャプチャー デバイスです。
    DSDEVID_DefaultVoiceCapture 既定の音声キャプチャー デバイスです。
  • pcGuidRenderDevice
    全二重出力用のサウンド レンダリング デバイスを識別する GUID のアドレスです。DirectSoundEnumerate が返す GUID のいずれか、デフォルトのレンダリング デバイスを指定する NULL、または次の値のいずれかである必要があります。

    説明
    DSDEVID_DefaultPlayback システム全体の既定のオーディオ再生デバイスです。
    DSDEVID_DefaultVoicePlayback 既定の音声再生用デバイスです。
  • pcDSCBufferDesc
    キャプチャー バッファーの特性を指定する DSCBUFFERDESC 構造体のアドレスです。

  • pcDSBufferDesc
    レンダリング バッファーの特性を指定する DSCBUFFERDESC 構造体のアドレスです。

  • hWnd
    アプリケーション ウィンドウへのハンドルです。

  • dwLevel
    デバイスの協力型レベルです。詳細については、「IDirectSound8::SetCooperativeLevel」を参照してください。

  • ppDSFD
    IDirectSoundFullDuplex8 インターフェイス ポインターを受け取る変数のアドレスです。

  • ppDSCBuffer8
    キャプチャー バッファーの IDirectSoundCaptureBuffer8 インターフェイスを受け取る変数のアドレスです。

  • ppDSBuffer8
    レンダリング バッファーの IDirectSoundBuffer8 インターフェイスを受け取る変数のアドレスです。

  • pUnkOuter
    COM 集成に対する制御オブジェクトの IUnknown インターフェイスのアドレスです。集成はサポートされていないので、NULL にする必要があります。

戻り値

成功した場合は DS_OK を返します。失敗した場合、戻り値は以下のいずれかになる場合があります。

リターン コード
DSERR_ALLOCATED
DSERR_INVALIDPARAM
DSERR_NOAGGREGATION
DSERR_NODRIVER
DSERR_OUTOFMEMORY

解説 

Windows:  Windows Vista に関する重要な情報

Windows Vista を使っている場合、DirectSound API を経由して Windows XP アコースティック エコー キャンセル (AEC) 機能にアクセスする既存のアプリケーションは AEC を使用できなくなります。これらのアプリケーションは引き続き動作できますが、AEC 仕様の DirectSound API 呼び出しを行ってもキャプチャーされたオーディオに変化はありません。

Windows Vista で AEC を使用する方法については、Windows SDK の「Windows Vista AEC」トピックを参照してください。

要件

ヘッダー: DSound.h 宣言

ライブラリ: Dsound.lib 内容

関連項目

キャプチャー デバイス オブジェクトの作成 | デバイス オブジェクトの作成