IMMDeviceEnumerator::GetDevice 方法 (mmdeviceapi.h)
GetDevice 方法检索由终结点 ID 字符串标识的音频终结点设备。
语法
HRESULT GetDevice(
[in] LPCWSTR pwstrId,
[out] IMMDevice **ppDevice
);
参数
[in] pwstrId
指向包含终结点 ID 的字符串的指针。 调用方通常从 IMMDevice::GetId 方法或 IMMNotificationClient 接口中的方法之一获取此字符串。
[out] ppDevice
指向指针变量的指针,方法在其中写入指定设备的 IMMDevice 接口的地址。 通过此方法,调用方获取对 接口的计数引用。 调用方负责在不再需要接口时通过调用接口的 Release 方法释放接口。 如果 GetDevice 调用失败, 则 *ppDevice 为 NULL。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
参数 pwstrId 或 ppDevice 为 NULL。 |
|
设备 ID 不标识此系统中的音频设备。 |
|
内存不足。 |
注解
如果两个程序在两个不同的进程中运行,并且都需要访问同一个音频终结点设备,则一个程序不能简单地将设备的 IMMDevice 接口传递给另一个程序。 但是,程序可以通过执行以下步骤来访问同一设备:
- 第一个程序在第一个进程中调用 IMMDevice::GetId 方法以获取标识设备的终结点 ID 字符串。
- 第一个程序通过进程边界将终结点 ID 字符串传递给第二个程序。
- 若要获取对第二个进程中设备的 IMMDevice 接口的引用,第二个程序使用终结点 ID 字符串调用 GetDevice 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | mmdeviceapi.h |