0

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

IAMAnalogVideoDecoder和IAMTVTuner声明了方法get_AvailableVideoFormats。这是官方文档中定义该方法的方式:

HRESULT get_AvailableTVFormats(
  [out]  long *lAnalogVideoStandard
);

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

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


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

4

1 回答 1

2

我不清楚这个参数是指向单个 AnalogVideoStandard 的指针还是枚举。

它既不是1

指向从 AnalogVideoStandard 枚举接收零个或多个标志的按位或的变量的指针。

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

这个答案应该解释其余的。您应该能够将此答案应用于您的 .NET 代码。

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

于 2013-01-30T10:22:05.910 回答