KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION
KSPROPERTY_CAMERACONTROL_EXTENDED_RELATIVEPANELOPTIMIZATION è un ID proprietà usato per informare il driver del fatto che la fotocamera sia anteriore o meno, rispetto alla visualizzazione attiva dell'applicazione. Windows imposta la proprietà quando viene impostata la nuova proprietà API WinRT PanelBasedOptimizationControl.Panel.
Esempi di impostazione dei controlli KSProperty sono disponibili nel driver di esempio di fotocamera AVStream in GitHub.
Tabella riepilogo utilizzo
Recupero | Set | Destinazione | Tipo di descrittore delle proprietà | Tipo di valore della proprietà |
---|---|---|---|---|
Sì | Sì | Filtra | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
Commenti
La richiesta di proprietà contiene una struttura KSCAMERA_EXTENDEDPROP_HEADER e una struttura KSCAMERA_EXTENDEDPROP_VALUE .
La dimensione totale dei dati delle proprietà è sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
.
Il membro Size di KSCAMERA_EXTENDEDPROP_HEADER è impostato su questa dimensione totale dei dati delle proprietà.
Di seguito sono riportati i flag che possono essere posizionati nella KSCAMERA_EXTENDEDPROP_HEADER. Flag e KSCAMERA_EXTENDEDPROP_HEADER. Campi di funzionalità .
Modalità di ottimizzazione del pannello relativa | Descrizione |
---|---|
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF | La fotocamera userà la modalità normale dell'operazione |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON | La fotocamera userà l'ottimizzazione relativa a una posizione descritta nel campo valore |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC | L'hint per la posizione della fotocamera può essere modificato in modo dinamico durante lo streaming senza recuperare il flusso |
KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION è sempre un controllo sincrono.
Qualsiasi app può leggere la proprietà, ma solo le app che hanno aperto la fotocamera per l'accesso esclusivo possono scrivere sul valore della proprietà.
Se si tenta di scrivere la proprietà senza avere accesso in modalità esclusiva, verrà restituito un codice di errore appropriato.
Per quanto riguarda il mapping di questo DDI a PanelBasedOptimizationControl, l'applicazione che usa PanelBasedOptimizationControl imposta il valore del pannello, che Windows userà internamente per programmare il campo KSCAMERA_EXTENDEDPROP_VALUE del payload.
Il campo Funzionalità e flag verrà controllato da Windows.
Se il driver riceve un'operazione SET mentre il dispositivo della fotocamera è in streaming e il flag KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_DYNAMIC* non è impostato, il driver restituirà un errore basato sullo stato.
La tabella seguente contiene i requisiti per i campi struttura KSCAMERA_EXTENDEDPROP_HEADER quando si usa il controllo metadati.
Membro | Descrizione |
---|---|
Versione | Questo deve essere 1. |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
Dimensione | Questa deve essere sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE) |
Risultato | Indica i risultati dell'errore dell'ultima operazione SET. Se non è stata eseguita alcuna operazione SET, questa operazione deve essere 0. |
Funzionalità | Deve essere un po 'saggio OR dei flag di KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_XXX supportati definiti in precedenza. |
Flags | Si tratta di un campo di lettura/scrittura. Può essere KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON o flag di KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF definiti in precedenza. |
Se KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON viene specificato nel campo Flags della KSCAMERA_EXTENDEDPROP_HEADER, il campo Value.ul deve specificare il PLD per la direzione relativa in cui la fotocamera è attualmente rivolta.
Questo può essere uno dei valori di enumerazione per ACPI PLD, ma la maggior parte delle volte sarà Front, Back o Unknown.
Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF , per le operazioni SET, il campo Valore viene ignorato.
Per le operazioni GET, il driver deve restituire la direzione per cui la fotocamera è attualmente programmata.
Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_OFF o se non è stato impostato alcun valore, è necessario restituire il PLD predefinito del dispositivo.
Se viene specificato KSCAMERA_EXTENDEDPROP_RELATIVEPANELOPTIMIZATION_ON , è necessario restituire il valore impostato più di recente.
Requisiti
Intestazione: ksmedia.h (include Ksmedia.h)