2014-09-19 3 views
0

기본적으로 ipropertybag를 사용하여 특정 카메라 속성을 가져올 수 있는지 알고 싶습니다. 이 카메라의 친절한 이름을 잡아입니다 게인과 같은 다른 속성 값을 잡기 위해 가능하면 궁금 해서요, x와 y 오프셋,이 속성 모음을 사용하지 않는 것을 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; 

것 같다.

답변

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 

추가 속성을 사용할 수 있습니다, 그러나 이것은 드문 경우입니다. 어떤 경우라도 읽기 속성은 레지스트리에서 읽는 것으로 매핑됩니다. 즉, 관심있는 런타임 매개 변수와 달리 정적 값을 의미합니다. 게인과 같은 값은 각 필터/핀 인터페이스를 사용하여 쿼리됩니다.