Treiberunterstützung für kamera-UVC-Kontrollcache
UVC steuert den Stick auf einem Gerät, wenn der Frameserver heruntergefahren wird. Wenn eine App verwendet wird, 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 haften oder nicht. Dieses Verhalten liegt daran, dass D3 Cold die Kamera mit Strom versorgt.
Die Verwendung des Cache UVC Control Protocol ist eine Möglichkeit, ein konsistentes Verhalten für Anwendungssitzungen, S3- und Computerabschaltungen zu haben.
Durch Festlegen des Konfigurationsschlüssels "CacheUVCControl" auf den DWORD-Wert 1 im Geräte-HW-Registrierungsschlüssel über MS OS 2.0-Deskriptoren oder die ältere Methode der benutzerdefinierten INF-Datei behält eine Kamera die vom Benutzer festgelegten UVC-Kontrollwerte für S3- oder Computerneustarts bei. Die Liste der spezifischen UVC-Kontrollwerte, die gespeichert und erneut angewendet werden, finden Sie unten.
Betroffene UVC-Steuerelemente
Im Folgenden finden Sie eine Liste der UVC-Steuerelemente, die während des Neustarts zwischengespeichert und 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_WHITEBALANCE(+ AUTO)
INF-Beispiel
[Device.AddReg.HW]
HKR,,"CacheUVCControl",0x00010001,1
MS OS 2.0-Deskriptorbeispiel
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
}