Freigeben über


Treiberunterstützung für kamera-UVC-Steuercache

UVC-Steuerelemente bleiben im Gerät hängen, wenn der Frameserver heruntergefahren wird. Wenn man eine App verwendet, die den Weißabgleich mit UVC-Steuerelementen festlegt und dann die App herunterfährt, wird der Weißabgleich der Kamera nicht zurückgesetzt. Andere Apps, die den Weißabgleich öffnen und nicht ändern, erben die vorherige Einstellung.

Eine Ausnahme ist, wenn der Computer in S3 wechselt. Je nachdem, ob das Kameragerät in D3 oder D3 Cold wechselt, können die UVC-Steuerelemente möglicherweise entweder haften bleiben oder nicht. Dieses Verhalten liegt daran, dass D3 Cold die Stromversorgung von der Kamera entfernt.

Die Verwendung des Cache UVC Control Protokolls ist eine Möglichkeit, ein einheitliches Verhalten über Anwendungssitzungen, S3 und beim Herunterfahren des Computers hinweg sicherzustellen.

Durch Festlegen des Konfigurationsschlüssels "CacheUVCControl" auf den DWORD-Wert 1 im HW-Registrierungsschlüssel des Geräts mithilfe von MS OS 2.0-Deskriptoren oder der älteren Methode der benutzerdefinierten INF-Datei behält eine Kamera UVC-Steuerwerte bei, die vom Benutzer über S3- oder Computerneustarts festgelegt werden. Die Liste der spezifischen UVC-Kontrollwerte, die gespeichert und erneut angewendet werden, finden Sie unten.

Betroffene UVC-Steuerelemente

Nachfolgend finden Sie eine Liste der UVC-Steuerelemente, die zwischengespeichert und während eines Neustarts erneut angewendet werden:

  • KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS
  • KSPROPERTY_VIDEOPROCAMP_CONTRAST
  • KSPROPERTY_VIDEOPROCAMP_GAIN
  • KSPROPERTY_VIDEOPROCAMP_GAMMA
  • KSPROPERTY_VIDEOPROCAMP_HUE(+ AUTO)
  • KSPROPERTY_VIDEOPROCAMP_SATURATION
  • KSPROPERTY_VIDEOPROCAMP_SHARPNESS
  • KSPROPERTY_VIDEOPROCAMP_WEIßABGLEICH(+ AUTO)

INF-Beispiel

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

MS OS 2.0-Deskriptor (Beispiel)

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  
}