共用方式為


相機 UVC 控制快取的驅動程式支援

當框架伺服器關閉時,UVC 控制項仍保持在設備上。 如果使用使用 UVC 控制設定白平衡的應用程序,然後關閉該應用程序,則相機的白平衡將不會重置。 其他開啟且未變更白平衡的應用程式將繼承先前的設定。

一個例外是當電腦進入 S3 時。 根據相機裝置是進入 D3 還是 D3 冷,UVC 控制可能會或可能不會停留。 此行為是因為 D3 Cold 會從相機中斷電源。

利用 Cache UVC 控制通訊協定是一種確保在應用程式會話、S3 和電腦關閉時保持一致行為的方法。

藉由透過 MS OS 2.0 描述元或自訂 INF 檔案的舊方法,將組態機碼 「CacheUVCControl」 設定為裝置硬體登錄機碼中的 DWORD 值 1,相機會在 S3 或電腦重新啟動時保留使用者所設定的 UVC 控制值。 將儲存和重新套用的特定 UVC 控制值清單如下。

UVC 控制受影響

以下是將在重新啟動時快取並重新套用的 UVC 控制項清單:

  • KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS
  • KSPROPERTY_VIDEOPROCAMP_CONTRAST
  • KSPROPERTY_VIDEOPROCAMP_GAIN
  • KSPROPERTY_VIDEOPROCAMP_GAMMA(影像處理增益)
  • KSPROPERTY_VIDEOPROCAMP_HUE(+自動)
  • KSPROPERTY_VIDEOPROCAMP_SATURATION
  • KSPROPERTY_VIDEOPROCAMP_SHARPNESS
  • KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE(+ 自動)

INF 範例

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

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  
}