这个 C++ [out] 参数是指向枚举的指针,还是只是一个值
Is this C++ [out] parameter a pointer to an enumeration, or just a single value?
目前我正在使用 DirectShow.NET,这是一个用于Microsoft DirectShow(C++)的非官方.NET"端口"。
IAMAnalogVideoDecoder 和 IAMTVTuner 都声明该方法get_AvailableVideoFormats
。这是官方文档中定义该方法的方式:
HRESULT get_AvailableTVFormats(
[out] long *lAnalogVideoStandard
);
我不清楚这个参数是指向单个AnalogVideoStandard
的指针,还是枚举。不幸的是,我对C++太缺乏经验,无法完全理解文档。由于方法名称,我希望它是一个枚举,但是吗?
我问这个问题的原因是,在 .NET 库中,此参数不是枚举,只是一个值。我觉得这很奇怪,因为我希望在这里获得多种"可用的视频格式"。
顺便说一下,AnalogVideoStandard
是一个枚举。
我不清楚这个参数是指向单个 AnalogVideoStandard 的指针,还是枚举。
它既不是1:
指向从模拟视频标准枚举接收零个或多个标志的按位 OR 的变量的指针。
它是指向表示零个或多个 AnalogVideoStandard
s 的值的指针。
这个答案应该解释其余的。您应该能够将此答案应用于 .NET 代码。
1 从技术上讲,它可以是 C# 中的枚举值,因为enum
类型可以应用FlagsAttribute
,但在C++中没有等效项,您只需将值|
在一起,无需特别大张旗鼓。
相关文章:
- 修改函数中的指针(将另一个指针作为参数传递)
- 将指针分配给另一个指针时会发生什么情况?
- C++将一个指针分配给另一个指针时执行的类型检查
- 更改一个指针后更改乘法对象
- 从另一个指针指向函数的指针
- 有没有办法在同名类 (c++) 中为对象分配一个指针变量
- 为什么通过定义另一个指针单元格,整个代码停止工作?
- C:试图将指针值复制到另一个指针中,得到可修改的左值错误
- C++ typedef 函数指针,并在一个语句中声明一个指针
- 一个对象的两个指针.删除了一个指针,对象仍然存在
- 如何获得GUID编码器,如果我在IMFTransform上有一个指针?
- 我不明白我的错误需要返回一个指针数组
- 使用 SFINAE 测试是否可以将一个指针类型static_cast到另一个指针类型
- 将指针分配给另一个指针时会发生什么情况?
- 如何保存指针地址,以便另一个指针可以继续处理它
- 为什么 std::span 是一个指针 + 大小而不是两个迭代器
- 类的成员应该是一个指针
- 隐式指针变量,在自动定义中具有另一个指针变量
- 利用双重链接列表中的下一个指针
- 你能把一个指针投射到数组中吗?