【问题标题】:Windows 7 CoreAudio Media Foundation- uuidof of IID_IAudioStreamVolumeWindows 7 CoreAudio Media Foundation - IID_IAudioStreamVolume 的 uuidof
【发布时间】:2012-11-17 21:52:42
【问题描述】:

我收到以下代码的链接错误:

hr = pPlaybackClient->GetService(IID_IAudioStreamVolume, (void **)&pStreamVolume);

链接错误是“未解析的外部符号_IID_IAudioStreamVolume”

IID_IAudioStreamVolume 是在 Audioclient.h 中定义的,我正在 #include 那个文件。如果我声明:

const IID IID_IAudioStreamVolume = __uuidof(IID_IAudioStreamVolume);

我收到“错误:__uuidof 的操作数必须具有已指定 __declspec(uuid('...')) 的类或枚举类型。

我确定这是一个小问题,但我没有看到答案——我们将不胜感激。

【问题讨论】:

    标签: windows audio ms-media-foundation


    【解决方案1】:

    找到了。使用 __uuidof(IAudioStreamVolume) 而不是 IID_IAudioStreamVolume 可以正确编译和链接。如果有人知道我在哪里可以找到有关 MS 在这里所做的一些文档,我将不胜感激。

    【讨论】:

    • IID_IAudioStreamVolume 不在 SDK 中。是的,您可以使用 __uuidof 轻松解决它,正如您已经找到的那样。我想文档写道假设 IID_ 变量也将另外可用(就像其他人一样)。
    • 这是否记录在某处?
    • __uuidof 肯定有记录。此外,Windows SDK 中的所有接口都附加了 IID,您可以应用 __uuidof... 除了您明确使用 IID_ 前缀的最旧接口。
    猜你喜欢
    • 2021-10-20
    • 2012-10-06
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多