C Master Volume Windows 中的 __uuidof

2024-03-19

我想用 C 改变主音量,但是__uuidof仅适用于 C++;我可以用什么来代替它?

const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
hr = CoCreateInstance(
     CLSID_MMDeviceEnumerator, NULL,
     CLSCTX_ALL, IID_IMMDeviceEnumerator,
     (void**)&deviceEnumerator);

我只发现:C 中 __uuidof 的替代方案 https://stackoverflow.com/questions/8868784/alternative-to-uuidof-in-c


CLSID_MMDeviceEnumerator and IID_IMMDeviceEnumerator被定义在 API 的头文件中 https://msdn.microsoft.com/en-us/library/windows/desktop/dd371399(v=vs.85).aspx, i.e. <mmdeviceapi.h>.

您必须在 C 代码中使用这些定义,而不是__uuidof,因为这仅适用于 C++ 代码。

请注意,您需要包括<initguid.h> before <mmdeviceapi.h>:

#include <initguid.h>
#include <mmdeviceapi.h>

那么这段代码应该可以工作:

hr = CoCreateInstance(
    &CLSID_MMDeviceEnumerator, (*)
    NULL,
    CLSCTX_ALL, 
    &IID_IMMDeviceEnumerator,  (*)
    (void**)&deviceEnumerator
);

(*)请注意,我已经使用了&(address-of),因为在 C++ 中你有引用,但在 C 代码中你需要显式地使用指针。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C Master Volume Windows 中的 __uuidof 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 如何创建自定义 haar 分类器?

    我正在努力创建一个自定义 haar 分类器 我在网上找到了一些教程 但他们没有指定他们使用的是哪个版本的 opencv 我需要的是一个非常简洁和简化的所需步骤示例 以及一个简单的图像数据集 我还需要知道 opencv 版本和操作系统平台 以
  • Rails 7 不会通过“generatescaffold”命令生成 SCSS 文件

    我在 Rails 7 中创建了一个新项目 每当我使用生成脚本时 rails generate scaffold or rails generate controller 除了 css scss 之外 所有生成的文件都会被创建 显然 我不是唯
  • svn 客户端超时并破坏 WC 状态

    当我提交较大的更改 数百兆字节 时 即使签入确实完成 客户端也会超时 当我右键单击 WC 并显示日志时 TSVN 显示即使实际签入 WC 修订版也不会更新 我尝试过使用TortoiseSVN 1 9 5 Build 27581 64 Bit
  • 静止搜索性能

    这是一个双重问题 我组装了一个简单的国际象棋引擎 它执行 Alpha Beta 搜索 最后执行静止搜索 静止搜索正在影响性能 问题是 这是可以接受的性能影响吗 如果不是 那么应该采取什么措施来解决这个问题 下图给出了性能影响 请注意 这些统
  • 出现“无法将 PersistentGenericSet 转换为 ISet”错误

    我收到此错误 无法转换类型的对象 NHibernate Collection Generic PersistentGenericSet1 IocWinFormTestEntities People to type System Collec
  • 如何禁用apache2中的mod_deflate?

    如何在 Apache2 中禁用 mod deflate 对于特定目录中的文件 OR 对于所有具有扩展名的文件 例如 py 您可以设置环境变量no gzip http httpd apache org docs 2 2 mod mod def
  • MAVEN_OPTS 与 mvn -D

    我认为两者都定义了相同的 JVM 属性 但两者之间显然存在差异 我找不到明确的解释 如果我在构建的 Jenkins Maven 中使用两者 则只有 D 设置的属性在 System getProperties 的 Java 应用程序中可见 尽
  • p:fileDownload bean方法被调用但文件下载不显示

    您好 我正在使用 JSF 和 Primefaces 进行文件上传和下载相同的文件操作 我结合使用来自不同论坛和博客的技术 BelusC 的博客和 Primefaces Showcase 该操作的主要思想是让用户上传文件并 为上传的文件生成一
  • 数据库连接应该是单例吗?

    Java 中创建单例的最佳方式是什么 数据库连接应该是单例 作为单例它自动是线程安全的 因为理论上数据库不能被许多用户同时访问 数据库连接通常不应是单例 两个原因 许多数据库驱动程序都不是线程安全的 使用单例意味着如果您有许多线程 它们将共
  • 从 phpmailer 获取原始 rfc822 消息

    我正在尝试使用 google api php client 和 gmail api 来允许我的用户验证他们的 gmail 帐户并通过我的网站发送电子邮件 我问了一个更通用的问题 https stackoverflow com questio
  • 时间:2019-03-17 标签:c#Linqselect不同的日期时间天

    我有以下方法 我计划返回一堆不同的日期时间对象 我所说的独特是指独特的日子 不包括时间 问题是 DateTime 对象具有不同的时间 因此即使它们是同一天 也会被评估为唯一 如何让查询忽略日期的时间部分并仅评估日期的唯一性 public L
  • 为什么我的类没有通过“def __init__”或“def __init__”初始化?为什么我会收到“不带参数”类型错误或属性错误?

    如果您的问题作为与此重复的问题而被关闭 那是因为您有一个代码示例 其中包含以下内容 class Example def int self parameter self attribute parameter or class Example
  • 从 DBMS_SCHEDULER 运行 exe

    我是 DBMS SCHEDULER 的新手 我面临一些问题 我想运行 exe所以我创建了一个工作 begin sys dbms scheduler create job job name gt FTREC EXE 1 job type gt
  • 类模板参数推导完美转发

    我想了解演绎指南如何与通用参考一起使用std forward 特别是创建完美的转发包装器 下面的代码提供了在两种情况下试验函子包装器的代码 一种具有隐式推导指南 一种具有显式推导指南 我已经放了很多 and std forward在评论中
  • 如何按列对多维数组进行排序?

    有没有办法使用 sort 方法或任何其他方法按列对列表进行排序 可以说我有清单 John 2 Jim 9 Jason 1 我想对其进行排序 使其看起来像这样 Jason 1 John 2 Jim 9 做到这一点的最佳方法是什么 Edit 现
  • 错误:生成未知

    我正在尝试按照教程进行操作https docs angularjs org tutorial https docs angularjs org tutorial并且运行命令时出错 npm run protractor 这是控制台日志 Mic
  • 从 Woocommerce 中的产品 ID 获取所有订单 ID

    如何按产品 ID 获取包含订单 ID 的数组 我的意思是接收所有展示特定产品的订单 我知道如何通过 MySQL 来做到这一点 但是有没有办法通过WP Query功能 Updates 2017 SQL 查询更改为 SELECT DISTINC
  • Lime vs TreeInterpreter 用于解释决策树[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 石灰来源 https github com marcotcr lime https github com marcotcr lime 树解
  • 如何使用skia Sharp在画布上绘制PDF?

    我参考了skia的官方文档 https learn microsoft com en us dotnet api skiasharp skcanvas view skiasharp 1 68 1 constructing a pdf doc
  • C Master Volume Windows 中的 __uuidof

    我想用 C 改变主音量 但是 uuidof仅适用于 C 我可以用什么来代替它 const CLSID CLSID MMDeviceEnumerator uuidof MMDeviceEnumerator const IID IID IMMD