DirectSound DirectSound C/C++ 레퍼런스 DirectSound 의 구조체 DSCAPS   [목차열람] [주소복사] [슬롯비우기]
DSCAPS
 
Microsoft DirectX 9.0

DSCAPS

DSCAPS 구조체는, 장치의 능력을 기술한다. IDirectSound8::GetCaps 메서드로 사용한다.

구문

typedef { 
  DWORD  dwSize; 
  DWORD  dwFlags;  
  DWORD  dwMinSecondarySampleRate; 
  DWORD  dwMaxSecondarySampleRate; 
  DWORD  dwPrimaryBuffers; 
  DWORD  dwMaxHwMixingAllBuffers; 
  DWORD  dwMaxHwMixingStaticBuffers; 
  DWORD  dwMaxHwMixingStreamingBuffers; 
  DWORD  dwFreeHwMixingAllBuffers; 
  DWORD  dwFreeHwMixingStaticBuffers; 
  DWORD  dwFreeHwMixingStreamingBuffers; 
  DWORD  dwMaxHw3DAllBuffers; 
  DWORD  dwMaxHw3DStaticBuffers; 
  DWORD  dwMaxHw3DStreamingBuffers; 
  DWORD  dwFreeHw3DAllBuffers; 
  DWORD  dwFreeHw3DStaticBuffers; 
  DWORD  dwFreeHw3DStreamingBuffers; 
  DWORD  dwTotalHwMemBytes; 
  DWORD  dwFreeHwMemBytes; 
  DWORD  dwMaxContigFreeHwMemBytes; 
  DWORD  dwUnlockTransferRateHwBuffers; 
  DWORD  dwPlayCpuOverheadSwBuffers; 
  DWORD  dwReserved1; 
  DWORD  dwReserved2; 
} DSCAPS, *LPDSCAPS; 
 
typedef const DSCAPS *LPCDSCAPS;

멤버

dwSize

구조체의 사이즈 (바이트 단위). 구조체를 사용하기 전에, 이 멤버를 초기화해야 한다.

dwFlags

장치의 능력을 기술하는 플래그. 다음 표로 나타나고 있는 값을 지정할 수 있다.

설명
DSCAPS_CERTIFIED 이 드라이버는 Microsoft 로 테스트되어 인정되고 있다. 이 플래그는 항상 WDM 드라이버에 대해서 설정된다. 인정되고 있는지를 테스트하려면 ,IDirectSound8::VerifyCertification 를 사용한다.
DSCAPS_CONTINUOUSRATE 이 장치는,dwMinSecondarySampleRatedwMaxSecondarySampleRate 의 각 멤버값의 사이의 모든 샘플링 레이트를 지원 한다. 일반적으로 이것은, 실제의 출력 레이트가 요구된 주파수의 ±10 헤르쯔 (Hz) 이내인 것을 의미한다.
DSCAPS_EMULDRIVER 이 장치에는 DirectSound 드라이버가 인스톨되지 않다. 웨이브 폼 오디오 기능을 통해 에뮬레이트 되고 있다. 성능이 저하하는 것을 예기치 않으면 안 된다.
DSCAPS_PRIMARY16BIT 이 장치는 16 비트 샘플링의1차 버퍼 를 지원 한다.
DSCAPS_PRIMARY8BIT 이 장치는 8 비트 샘플링의 1차 버퍼를 지원 한다.
DSCAPS_PRIMARYMONO 이 장치는 단청의의 1차 버퍼를 지원 한다.
DSCAPS_PRIMARYSTEREO 이 장치는 스테레오의 1차 버퍼를 지원 한다.
DSCAPS_SECONDARY16BIT 이 장치는, 16 비트 샘플링으로 하드웨어 믹싱의 2차 사운드 버퍼를 지원 한다.
DSCAPS_SECONDARY8BIT 이 장치는, 8 비트 샘플링으로 하드웨어 믹싱의 2차 버퍼를 지원 한다.
DSCAPS_SECONDARYMONO 이 장치는, 하드웨어 믹싱의 단청의 2차 버퍼를 지원 한다.
DSCAPS_SECONDARYSTEREO 이 장치는, 하드웨어 믹싱의 스테레오 2차 버퍼를 지원 한다.

dwMinSecondarySampleRate, dwMaxSecondarySampleRate

이 장치의 하드웨어 2차 사운드 버퍼가 지원 하는 최소와 최대의 샘플링 레이트의 지정.

dwPrimaryBuffers

지원 되고 있는 1차 버퍼의 수. 이 값은 항상 1 이다.

dwMaxHwMixingAllBuffers

하드웨어로 믹싱 할 수 있는 버퍼의 수. 이 멤버는,dwMaxHwMixingStaticBuffersdwMaxHwMixingStreamingBuffers 의 합계보다 작아도 상관없다. 리소스의 트레이드 오프가 자주 발생한다.

dwMaxHwMixingStaticBuffers

정적 버퍼의 최대수.

dwMaxHwMixingStreamingBuffers

스트리밍 사운드 버퍼의 최대수.

dwFreeHwMixingAllBuffers

할당할 수 있지 않은 버퍼의 수. WDM 드라이버에서는,dwFreeHw3DAllBuffers 가 포함된다.

dwFreeHwMixingStaticBuffers

할당할 수 있지 않은 정적 버퍼의 수.

dwFreeHwMixingStreamingBuffers

할당할 수 있지 않은 스트리밍 버퍼의 수.

dwMaxHw3DAllBuffers

3D 버퍼의 최대수.

dwMaxHw3DStaticBuffers

정적 3D 버퍼의 최대수.

dwMaxHw3DStreamingBuffers

스트리밍 3D 버퍼의 최대수.

dwFreeHw3DAllBuffers

할당할 수 있지 않은 3D 버퍼의 수.

dwFreeHw3DStaticBuffers

할당할 수 있지 않은 정적 3D 버퍼의 수.

dwFreeHw3DStreamingBuffers

할당할 수 있지 않은 스트리밍 3D 버퍼의 수.

dwTotalHwMemBytes

정적 사운드 버퍼를 보관 유지하는 사운드 카드 위에의 메모리 용량의 사이즈 (바이트 단위).

dwFreeHwMemBytes

사운드 카드의 빈메모리의 사이즈 (바이트 단위).

dwMaxContigFreeHwMemBytes

사운드 카드 건성나무 메모리 가운데, 최대의 연속 블록의 사이즈 (바이트 단위).

dwUnlockTransferRateHwBuffers

하드웨어 정적 사운드 버퍼에의 데이터 전송 속도. 단위는 1 초 쯤의 킬로바이트수 (KB/초). 이 속도와 전송 바이트수에 의해,IDirectSoundBuffer8::Unlock 메서드를 호출했을 때의 실행 시간이 정해진다.

dwPlayCpuOverheadSwBuffers

처리의 오버헤드. 소프트웨어 버퍼를 믹싱 하기 위해서 필요한 메인 프로세서 사이클의 퍼센티지이다. 이 값은, 버스 타입, 프로세서 타입, 클럭 속도에 응해 변화한다.

dwReserved1

미사용.

dwReserved2

미사용.

주의

오디오 카드에 따라서는, 이용 가능한 하드웨어 버퍼나 그 빈 곳이 정확하게 보고되지 않는 경우가 있다. 이것은 예를 들어, 카드가, 높은 샘플링 레이트보다 낮은 샘플링 레이트로 보다 많은 사운드를 재생할 수 있을 때 발생한다. 보통, 하드웨어 버퍼의 빈수에 관계하는 멤버의 값이 0 이외의 경우는, 적절한 타입의 하드웨어 리소스가 적어도 1 개 이용할 수 있는 것을 나타내고 있다.

소프트웨어 버퍼의 언락 전송 속도는 0 이다. 이것은, 데이터를 어디에도 전송 할 필요가 없기 때문이다. 같이 하드웨어 버퍼의 재생 처리 오버헤드도, 믹싱이 사운드 장치에 의해 처리되기 (위해)때문에 0 이다.

요건

  헤더:Dsound.h 로 선언.

참조

↑TOP