gpt4 book ai didi

c++ - 这个 C++ [out] 参数是指向枚举的指针,还是只是一个值?

转载 作者:行者123 更新时间:2023-11-28 03:24:07 25 4
gpt4 key购买 nike

目前我正在使用 DirectShow.NET ,Microsoft 的 DirectShow (C++) 的非官方 .NET“端口”。

两者都是IAMAnalogVideoDecoderIAMTVTuner声明方法 get_AvailableVideoFormats。官方文档中是这样定义方法的:

HRESULT get_AvailableTVFormats(
[out] long *lAnalogVideoStandard
);

我不清楚这个参数是指向单个 AnalogVideoStandard 的指针,还是一个枚举。不幸的是,我对 C++ 经验不足,无法完全理解这些文档。由于方法名称,我希望它是一个枚举,但它是吗?

我问这个的原因是因为在 .NET 库中,这个参数不是枚举,只是一个值。我觉得这很奇怪,因为我希望在这里获得多种“可用视频格式”。


顺便说一下,AnalogVideoStandard 是一个枚举。

最佳答案

It's not clear to me if this parameter is a pointer to a single AnalogVideoStandard, or a enumeration.

两者都不是1:

Pointer to a variable that receives a bitwise OR of zero or more flags from the AnalogVideoStandard enumeration.

它是一个指向代表零个或多个 AnalogVideoStandard 的值的指针。

This answer应该解释其余的。您应该可以申请 this answer到您的 .NET 代码。

1 从技术上讲,它可以是 C# 中的 枚举值,因为 enum 类型可以应用 FlagsAttribute它们,但在 C++ 中没有等效项,您只是 | 值,没有特别的宣传。

关于c++ - 这个 C++ [out] 参数是指向枚举的指针,还是只是一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com