Podpora ovladačů pro UVC ovládání kamery v mezipaměti

Ovládací prvky UVC se při vypnutí rámcového serveru přichytí ke zařízení. Pokud používáte aplikaci, která nastaví White Balance s ovládacími prvky UVC a pak aplikaci vypne, nebude se resetovat white balance fotoaparátu. Ostatní aplikace, které se otevřou a nemění white balance, zdědí předchozí nastavení.

Jednou z výjimek je, když počítač přejde do S3. V závislosti na tom, jestli zařízení fotoaparátu přejde do režimu D3 nebo D3 Cold, mohou ovládací prvky UVC zůstat funkční, nebo se stát nefunkčními. Toto chování je způsobeno tím, že D3 Cold odebere napájení z fotoaparátu.

Použití protokolu Cache UVC Control Protocol je způsob, jak mít konzistentní chování napříč relacemi aplikací, S3 a vypnutím počítače.

Nastavením konfiguračního klíče CacheUVCControl na hodnotu DWORD 1 v klíči registru HW zařízení pomocí popisovačů MS OS 2.0 nebo starší metody vlastního souboru INF kamera zachová hodnoty řízení UVC nastavené uživatelem v rámci restartování S3 nebo počítače. Seznam konkrétních hodnot ovládacího prvku UVC, které se budou ukládat a znovu použít, najdete níže.

Ovlivněné ovládací prvky UVC

Níže je seznam ovládacích prvků UVC, které se budou ukládat do mezipaměti a znovu je použít při restartování:

  • KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS (jas)
  • KSPROPERTY_VIDEOPROCAMP_CONTRAST
  • KSPROPERTY_VIDEOPROCAMP_GAIN
  • KSPROPERTY_VIDEOPROCAMP_GAMMA
  • KSPROPERTY_VIDEOPROCAMP_HUE(+ AUTO)
  • KSPROPERTY_VIDEOPROCAMP_SATURATION
  • KSPROPERTY_VIDEOPROCAMP_SHARPNESS
  • KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE(+ AUTO)

Příklad INF

[Device.AddReg.HW]
HKR,,"CacheUVCControl",0x00010001,1

Příklad popisovače MS OS 2.0

UCHAR Example_MSOS20DescriptorSet_CacheUVCControl[0x38] =
{
    //
    // Microsoft OS 2.0 Descriptor Set Header
    //
    0x0A, 0x00,               // wLength - 10 bytes
    0x00, 0x00,               // MSOS20_SET_HEADER_DESCRIPTOR
    0x00, 0x00, 0x0?, 0x06,   // dwWindowsVersion – 0x060?0000 for future Windows version
    0x3C, 0x00,               // wTotalLength – 60 bytes

    //
    // Microsoft OS 2.0 Registry Value Feature Descriptor
    //
    0x32, 0x00,               // wLength 0x32 (50) in bytes of this descriptor  
    0x04, 0x00,               // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY  
    0x04, 0x00,               // wPropertyDataType - REG_DWORD  
    0x24, 0x00,               // wPropertyNameLength – 0x24 (36) bytes
    'C',  0x00, 'a',  0x00,   // Property Name - “CacheUVCControl”  
    'c',  0x00, 'h',  0x00,  
    'e',  0x00, 'U',  0x00,
    'V',  0x00, 'C',  0x00,  
    'C',  0x00, 'o',  0x00,  
    'n',  0x00, 't',  0x00,  
    'r',  0x00, 'o',  0x00,  
    'l',  0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00,
    0x04, 0x00,               // wPropertyDataLength – 4 bytes  
    0x01, 0x00, 0x00, 0x00,   // Enable to cache UVC controls  
}