是否可以使用ipropertybag抓取相机属性值?

是否可以使用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 

其他属性可以是可用的,如果各驱动制备的某些注册表项,但是这是一种罕见的情况。在任何情况下,读取属性都映射到从注册表中读取,这意味着它们是静态值,与您感兴趣的运行时参数不同。像增益这样的值使用各自的过滤器/引脚接口进行查询。