locked
How to use VideoDeviceController.GetDeviceProperty(string propertyId)

    Question

  • Hello:

    I have implement Camera device app with C# and I want to implement extended camera properties.

    I want to call VideoDeviceController.GetDeviceProperty(string propertyId);

    However, I don't know how to find the definition below(C#).

    PROPSETID_VIDCAP_CAMERACONTROL_FLASH

    PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION

    PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST

    I have tried two ways.

    1.

    ===============================================================================================           

    var CameraCLSID = new Guid("9D12D198-F86C-4fed-B023-5D87653DA793");        //PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST

                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ GUID find in (ksmedia.h)

    object ksGetStruct = videoDevController.GetDeviceProperty(CameraCLSID.ToString());

    ===============================================================================================

    2.

    ===============================================================================================

    object ksGetStruct = videoDevController.GetDeviceProperty("PROPSETID_VIDCAP_CAMERACONTROL_REGION_OF_INTEREST");

    ===============================================================================================

    Both ways got exception

    Additional information: Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))

    Any solution?

    Thanks,

    Hardi 

    Thursday, June 14, 2012 2:08 PM

All replies

  • Hardi,

    I will look into this for you.

    Best Wishes - Eric


    Thursday, June 14, 2012 4:49 PM
    Moderator
  • The exception means the GUID string is not properly formatted. The GUID string needs to be bracketed, e.g. videoDevController.GetDeviceProperty("{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}");

    Thanks,

    Yuenfai

    Friday, August 10, 2012 10:06 PM
  • Yuenfai,

    With this method I receive other exception: "The data area passed to a system call is too small.(Exception from HRESULT: 0x8007007A)".

    Do you know any solutions?

    Thanks,

    Nikolay
    Wednesday, August 15, 2012 2:59 PM
  • Hi,

    I am also having this problem.  

    I get the same "The data area passed to a system call is too small."  Is there any way to retrieve device information from VideoDeviceController?  It would be nice to know which device it is (in case of multiple attached devices).

    Thank you,

    Gary

    Friday, August 17, 2012 9:22 PM
  • Since there appears to be no other way to get device information, I'm just going to assume this is a bug unless someone else can explain otherwise.
    Tuesday, August 21, 2012 5:14 PM
  • I have the same problem in JavaScript
    Thursday, September 13, 2012 6:06 AM
  • Same here, and still no update on this thread nor the current MSDN online help.

    If MS wants us developers to write great apps for their new WinRT, why do we not get more info right from the word GO?

    Before you didn't have to plough through tons of forum threads or header files or what not. When you wanted to know how to use a certain method. You just pressed F1 and there you got it or at least some hint how to find out. But not now! The best you get is an "I will look into this for you" that has not provided any help for almost four months now!

    Wednesday, October 03, 2012 8:41 PM
  • I'm having the same problems trying to enable Flash, have anyone figured out a way yet? :)

    Thanks!

    Sunday, December 09, 2012 10:55 PM