DirectSound DirectSound C/C++ 레퍼런스 DirectSound 의 구조체 DSCAPS [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 | 이 장치는,dwMinSecondarySampleRate 과 dwMaxSecondarySampleRate 의 각 멤버값의 사이의 모든 샘플링 레이트를 지원 한다. 일반적으로 이것은, 실제의 출력 레이트가 요구된 주파수의 ±10 헤르쯔 (Hz) 이내인 것을 의미한다. |
DSCAPS_EMULDRIVER | 이 장치에는 DirectSound 드라이버가 인스톨되지 않다. 웨이브 폼 오디오 기능을 통해 에뮬레이트 되고 있다. 성능이 저하하는 것을 예기치 않으면 안 된다. |
DSCAPS_PRIMARY16BIT | 이 장치는 16 비트 샘플링의 |
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
하드웨어로 믹싱 할 수 있는 버퍼의 수. 이 멤버는,dwMaxHwMixingStaticBuffers 와 dwMaxHwMixingStreamingBuffers 의 합계보다 작아도 상관없다. 리소스의 트레이드 오프가 자주 발생한다.
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 로 선언.
참조