이 파일의 문서화 페이지로 가기
47 #include <mmdeviceapi.h>
66 if (in_pProps) in_pProps->GetValue(key, &
variant);
73 PropVariantInit(&other.variant);
90 PropVariantInit(&other.variant);
114 in_pDevice->OpenPropertyStore(STGM_READ, &
pProps);
121 other.pProps =
nullptr;
143 other.pProps =
nullptr;
174 other.pDevice =
nullptr;
203 other.pDevice =
nullptr;
247 LPWSTR pwszID =
NULL;
248 if (
pDevice->GetId(&pwszID) == S_OK)
252 szString[260 - 1] = 0;
255 CoTaskMemFree(pwszID);
277 Iterator(IMMDeviceCollection* in_pDevices, UINT in_i)
339 pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATEMASK_ALL, &
pDevices);
348 pEnumerator->EnumAudioEndpoints(eFlow, dwStateMask, &
pDevices);
358 other.pDevices =
nullptr;
384 other.pDevices =
nullptr;
422 __uuidof(MMDeviceEnumerator),
NULL,
423 CLSCTX_ALL, __uuidof(IMMDeviceEnumerator),
431 other.pEnumerator =
nullptr;
455 other.pEnumerator =
nullptr;
467 pEnumerator->GetDefaultAudioEndpoint(eRender, in_eRole, (IMMDevice**)&pDevice.
pDevice);
AkUInt32 GetDeviceID() const
Definition of data structures for AkAudioObject
virtual Device Item(AkUInt32 in_idx)=0
Returns the number of devices. This function can block.
DeviceProperty(const PROPERTYKEY &key, IPropertyStore *in_pProps)
DeviceCollection(IMMDeviceEnumerator *pEnumerator, EDataFlow eFlow, DWORD dwStateMask)
DeviceProperties(const DeviceProperties &other)=delete
DeviceEnumerator & operator=(const DeviceEnumerator &other)=delete
Iterator(IMMDeviceCollection *in_pDevices, UINT in_i)
void SetDevice(IMMDevice *in_pNew)
DeviceProperty GetProperty(const PROPERTYKEY &key)
virtual void Lock()=0
Gets item in_idx from the cache. Must be smaller than Count(). This function can block.
Device & operator=(const Device &other)
DeviceProperties & operator=(DeviceProperties &&other)
static const AkDeviceID AK_INVALID_DEVICE_ID
Invalid streaming device ID
DeviceCollection(const DeviceCollection &other)=delete
DeviceProperties GetProperties() const
interface IMMDevice * pDevice
Device(const Device &other)
DeviceCollection & operator=(DeviceCollection &&other)
DeviceCollection(DeviceCollection &&other)
DeviceProperties & operator=(const DeviceProperties &other)=delete
Interface to access the IMMDevice cache. This avoids driver accesses.
DeviceProperty(const DeviceProperty &other)=delete
Iterator operator+(AkUInt32 inc) const
DeviceEnumerator(DeviceEnumerator &&other)
interface IMMDeviceCollection * pDevices
interface IMMDeviceEnumerator * pEnumerator
Device & operator=(Device &&other)
virtual AkUInt32 Count()=0
interface IMMDeviceCollection * pDevices
bool operator!=(const Iterator &in_rOp) const
!= operator
DeviceProperty & operator=(const DeviceProperty &other)=delete
AkUInt32 operator-(Iterator const &rhs) const
DeviceEnumerator(const DeviceEnumerator &other)=delete
Iterator & operator++()
++ operator
DeviceProperties(IMMDevice *in_pDevice)
virtual void Unlock()=0
For thread safety. If you iterate through all the devices, lock the enumerator to avoid changes....
bool operator==(const Iterator &in_rOp) const
== operator
DeviceProperty(DeviceProperty &&other)
DeviceCollection(IMMDeviceEnumerator *pEnumerator)
uint32_t AkUInt32
Unsigned 32-bit integer
virtual Device FindDevice(AkUInt32 in_id)=0
For thread safety. See Lock()
Device & operator=(IMMDevice *pOther)
DeviceEnumerator & operator=(DeviceEnumerator &&other)
Device GetDefaultDevice(ERole in_eRole)
AkForceInline AkInt32 AkWideCharToChar(const wchar_t *in_pszUnicodeString, AkUInt32 in_uiOutBufferSize, char *io_pszAnsiString)
String conversion helper
DeviceCollection & operator=(const DeviceCollection &other)=delete
void CheckForDuplicateEntries()
Iterator & operator--()
– operator
static HashParams::HashType ComputeLowerCase(const char *in_pData)
DeviceProperty & operator=(DeviceProperty &&other)
DeviceProperties(DeviceProperties &&other)
지원이 필요하신가요?
질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!
지원 페이지를 방문해 주세요
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요