IConnector::GetDeviceIdConnectedTo 方法 (devicetopology.h)
GetDeviceIdConnectedTo 方法获取此连接器连接到的音频设备的设备标识符(如果有)。
语法
HRESULT GetDeviceIdConnectedTo(
[out] LPWSTR *ppwstrDeviceId
);
参数
[out] ppwstrDeviceId
指向字符串指针的指针,方法在其中写入以 null 结尾的宽字符字符串的地址,该字符串包含已连接设备的设备标识符。 方法为字符串分配存储。 调用方负责通过调用 CoTaskMemFree 函数,在不再需要存储时释放存储。 如果 GetDeviceIdConnectedTo 调用失败, 则 *ppwstrDeviceId 为 NULL。 有关 CoTaskMemFree 的信息,请参阅 Windows SDK 文档。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
指针 ppwstrDeviceId 为 NULL。 |
|
此连接器未连接,或者连接的另一端不是另一个设备拓扑 (例如,Software_IO连接) 。 |
|
内存不足。 |
注解
从此方法获取的设备标识符可用作 IMMDeviceEnumerator::GetDevice 方法的输入参数。
此方法在功能上等效于以下一系列方法调用,但效率更高:
- 调用 IConnector::GetConnectedTo 方法以获取“to”连接器的 IConnector 接口。
- 调用 IConnector::QueryInterface 方法 (参数 iid 设置为 REFIID IID_IPart) 以获取“to”连接器的 IPart 接口。
- 调用 IPart::GetTopologyObject 方法以获取“to”设备的 IDeviceTopology 接口, (包含“to”连接器的设备) 。
- 调用 IDeviceTopology::GetDeviceId 方法以获取“to”设备的设备 ID。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | devicetopology.h |