是否可以使用ipropertybag抓取相机属性值?
问题描述:
基本上我想知道的是,如果它可能使用ipropertybag抓取某些相机属性。好像是否可以使用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,什么不能用此属性包。可用
答
性质有记录在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
其他属性可以是可用的,如果各驱动制备的某些注册表项,但是这是一种罕见的情况。在任何情况下,读取属性都映射到从注册表中读取,这意味着它们是静态值,与您感兴趣的运行时参数不同。像增益这样的值使用各自的过滤器/引脚接口进行查询。