基本上我想知道的是,是否可以使用ipropertybag获取某些相机属性。好像是
CComPtr< IPropertyBag > pBag;
hr = pM->BindToStorage( 0, 0, IID_IPropertyBag, (void**) &pBag );
if( hr != S_OK )
continue;
// ask for the english-readable name
//
CComVariant var;
var.vt = VT_BSTR;
hr = pBag->Read( L"FriendlyName", &var, NULL );
if( hr != S_OK )
continue;
这是抓住相机的友好名称,我想知道是否有可能获取其他属性值,如增益,偏移x和y,以及什么不使用此属性包。
答案 0 :(得分:1)
Selecting a Capture Device文章中记录了可用的属性:
"FriendlyName" The name of the device. VT_BSTR
"Description" A description of the device. VT_BSTR
"DevicePath" A unique string that identifies the device. (Video capture devices only.) VT_BSTR
"WaveInID" The identifier for an audio capture device. (Audio capture devices only.) VT_I4
如果相应的驱动程序准备了某些注册表项,则可以使用其他属性,但这种情况很少见。无论如何,读取属性映射到从注册表读取,这意味着这些是静态值,而不像您感兴趣的运行时参数。使用相应的过滤器/引脚接口查询增益等值。