1234567891011121314151617181920212223242526272829303132 |
- #include "ds2.h"
- #include "strsafe.h"
- static const GUID NULL_GUID;
- static bool _getcaps(IDirectSound * pDS,LPDSCAPS pCaps,DWORD * speakercfg)
- {
- bool rv=1;
- if (pCaps)
- {
- memset(pCaps,0,sizeof(*pCaps));
- pCaps->dwSize=sizeof(*pCaps);
- if (FAILED(pDS->GetCaps(pCaps))) rv=0;
- }
- if (speakercfg)
- {
- if (FAILED(pDS->GetSpeakerConfig(speakercfg))) rv=0;
- }
- return rv;
- }
- bool DS2::TryGetDevCaps(const GUID *g,LPDSCAPS pCaps,DWORD * speakercfg)
- {
- bool rv=0;
- SYNC_IN();
- if (!g) g=&NULL_GUID;
- if (pDS && GetCurDev()==*g)
- {
- rv=_getcaps(pDS,pCaps,speakercfg);
- }
- SYNC_OUT();
- return rv;
- }
|