當框架伺服器關閉時,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
}