本文整理汇总了C++中CComQIPtr::GetDisplayName方法的典型用法代码示例。如果您正苦于以下问题:C++ CComQIPtr::GetDisplayName方法的具体用法?C++ CComQIPtr::GetDisplayName怎么用?C++ CComQIPtr::GetDisplayName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CComQIPtr
的用法示例。
在下文中一共展示了CComQIPtr::GetDisplayName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddSession
void AudioVolume::AddSession(std::map<DWORD, DWORD> &map, CComQIPtr<IAudioSessionControl> spAudioSessionControl)
{
HRESULT hr = S_OK;
CComQIPtr<IAudioSessionControl2> spAudioSessionControl2;
try
{
// Get AudioSessionControl2
spAudioSessionControl2 = spAudioSessionControl;
if (spAudioSessionControl2 == NULL)
{
throw "Cannot get AudioSessionControl2!";
}
// Check if it is the firfox's audio session
DWORD dwProcessId;
hr = spAudioSessionControl2->GetProcessId(&dwProcessId);
if (FAILED(hr))
{
throw "spAudioSessionControl2->GetProcessId failed!";
}
LPWSTR pswSessionName = NULL;
hr = spAudioSessionControl->GetDisplayName(&pswSessionName);
if (FAILED(hr))
{
throw "spAudioSessionControl->GetDisplayName failed!";
}
if (IsDescendantProcess(map, dwProcessId) || IsQzoneMusicProcess(dwProcessId))
{
LPWSTR pswInstanceId = NULL;
if (SUCCEEDED(spAudioSessionControl2->GetSessionInstanceIdentifier(&pswInstanceId)))
{
m_mapSpAudioSessionControl2[CStringW(pswInstanceId)] = spAudioSessionControl;
}
CoTaskMemFree(pswInstanceId);
}
CoTaskMemFree(pswSessionName);
}
catch (LPCSTR szError)
{
TRACE("[MuterWin7] AudioVolume::AddSession: %s\n", szError);
}
}