Udostępnij przez


Obsługa sterowników dla pamięci podręcznej kontroli UVC aparatu

Kontrolki UVC trzymają się na urządzeniu, gdy serwer ramowy jest zamykany. Jeśli używasz aplikacji, która ustawia balans bieli za pomocą kontrolek UVC, a następnie zamykasz tę aplikację, balans bieli aparatu nie zostanie zresetowany. Inne aplikacje, które są otwarte i nie zmieniają białego salda, będą dziedziczyć poprzednie ustawienie.

Jednym z wyjątków jest to, że komputer przechodzi do S3. W zależności od tego, czy urządzenie aparatu przechodzi w tryb D3, czy D3 Cold, kontrolki UVC mogą działać lub nie działać zgodnie z oczekiwaniami. To zachowanie jest spowodowane tym, że D3 Cold usuwa moc z aparatu.

Użycie protokołu kontroli pamięci podręcznej UVC jest sposobem zapewnienia spójnego zachowania między sesjami aplikacji, S3 i zamykaniem komputera.

Aby aparat zachowywał wartości kontroli UVC ustawione przez użytkownika zarówno w trybie S3, jak i po ponownym uruchomieniu komputera, należy ustawić klucz konfiguracji "CacheUVCControl" na wartość DWORD równą 1 w kluczu rejestru sprzętowego urządzenia, korzystając z deskryptorów MS OS 2.0 lub starszej metody niestandardowego pliku INF. Poniżej znajduje się lista określonych wartości kontrolnych UVC, które będą przechowywane i ponownie zastosowywane.

Sterowanie UVC jest dotknięte

Poniżej znajduje się lista kontrolek UVC, które będą buforowane i ponownie zastosowywane po ponownym uruchomieniu.

  • KSPROPERTY_VIDEOPROCAMP_JASNOŚĆ
  • KSPROPERTY_VIDEOPROCAMP_CONTRAST
  • KSPROPERTY_VIDEOPROCAMP_GAIN
  • KSPROPERTY_VIDEOPROCAMP_GAMMA
  • KSPROPERTY_VIDEOPROCAMP_HUE(+ AUTOMATYCZNY)
  • KSPROPERTY_VIDEOPROCAMP_SATURATION
  • KSPROPERTY_VIDEOPROCAMP_SHARPNESS
  • KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE(+ AUTO)

Przykład INF

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

Przykład deskryptora systemu operacyjnego MS 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  
}