IMMDeviceEnumerator::UnregisterEndpointNotificationCallback 方法 (mmdeviceapi.h)
UnregisterEndpointNotificationCallback 方法删除客户端在对 IMMDeviceEnumerator::RegisterEndpointNotificationCallback 方法的调用中注册的通知接口的注册。
语法
HRESULT UnregisterEndpointNotificationCallback(
[in] IMMNotificationClient *pClient
);
参数
[in] pClient
指向客户端的 IMMNotificationClient 接口的指针。 在上一次调用 IMMDeviceEnumerator::RegisterEndpointNotificationCallback 方法时,客户端将此相同的接口指针传递给设备枚举器。 有关详细信息,请参阅“备注”。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
参数 pNotify 为 NULL。 |
|
找不到指定的通知接口。 |
注解
客户端必须确保在 RegisterEndpointNotificationCallback 调用后和调用 UnregisterEndpointNotificationCallback 之前不会释放 IMMNotificationClient 对象。 这些方法不调用客户端的 IMMNotificationClient::AddRef 和 IMMNotificationClient::Release 实现。 客户端负责维护 IMMNotificationClient 对象的引用计数。 如果 RegisterEndpointNotificationCallback 调用成功,客户端必须递增计数,并且仅在调用 UnregisterEndpointNotificationCallback 或实现一些其他机制后释放最终引用,以确保在调用 UnregisterEndpointNotificationCallback 之前不会删除对象。 否则,应用程序会泄漏 IMMNotificationClient 以及同一容器中实现的任何其他对象所持有的资源。
有关 AddRef 和 Release 方法的详细信息,请参阅 Windows SDK 文档中关于 IUnknown 接口的讨论。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | mmdeviceapi.h |