KSPROPERTY_PIN_PROPOSEDATAFORMAT2

Il sistema operativo usa la proprietà KSPROPERTY_PIN_PROPOSEDATAFORMAT2 per determinare se il driver ha un formato di dati preferito su un pin in base all'attributo specificato.

Tabella riepilogo utilizzo

Recupero Set Destinazione Tipo di descrittore di proprietà Tipo valore proprietà
No Filtra Vedere le osservazioni KSDATAFORMAT

Commenti

Il descrittore di proprietà è un KSP_PIN seguito da un KSMULTIPLE_ITEM che specifica un conteggio degli attributi delle dimensioni delle variabili che seguono la KSMULTIPLE_ITEM. Ogni attributo inizia con un'intestazione KSATTRIBUTE seguita da dati specifici dell'attributo. Gli attributi fungono da parametri per la richiesta di proprietà, specificando i formati di dati proposti.

KSPROPERTY_PIN_PROPOSEDATAFORMAT2 include una struttura di tipo KSMULTIPLE_ITEM,

L'unico attributo supportato per la proprietà è KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE e viene specificato usando la struttura KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE . Si noti che la struttura KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE inizia con un membro KSATTRIBUTE . Per altre informazioni, vedere Modalità di elaborazione dei segnali audio.

KSPROPERTY_TYPE_GET è supportato solo se il pin ha formati proposti. Questa funzione consente al driver audio di fornire informazioni sul formato di dati predefinito in un pin in base all'attributo specificato.

Il filtro KS restituisce STATUS_SUCCESS se il pin ha un formato di dati preferito per l'attributo specificato. Se il pin non ha un formato di dati preferito per l'attributo specificato, restituisce STATUS_NOT_SUPPORTED. Per eventuali altri errori, viene restituito un errore appropriato. Se il driver supporta questa proprietà, il sistema operativo userà sempre questo formato per la modalità di elaborazione del segnale specifica. KSPROPERTY_TYPE_SET non è supportato per questa proprietà.

Nella tabella seguente viene fornita una descrizione degli elementi PinProperty della struttura di input KSPROPERTY_PIN_PROPOSEDATAFORMAT2.

Elemento Descrizione
PinProperty.Property.Set L'oggetto PinProperty.Property.Set deve essere impostato sul KSPROPSETID_Pin per la modalità richiesta.
PinProperty.Property.Id Il PinProperty.Property.Id essere sempre impostato su KSPROPERTY_PIN_PROPOSEDATAFORMAT2.
PinProperty.Property.Flags PinProperty.Property.Flags può essere impostato su KSPROPERTY_TYPE_GET o su KSPROPERTY_TYPE_BASICSUPPORT per trovare informazioni di base sulla proprietà.
PinProperty.PinId PinProperty.PinId identifica il pin di destinazione per la richiesta di KSPROPERTY_PIN_PROPOSEDATAFORMAT2 .
PinProperty.Reserved PinProperty.Reserved è riservato per uso futuro e deve essere sempre impostato su zero (0).

Nella tabella seguente viene fornita una descrizione degli elementi attributi della struttura di input KSPROPERTY_PIN_PROPOSEDATAFORMAT2.

Elemento Descrizione
Attributes.Count Attributes.Count deve essere impostato sul numero di attributi, in genere uno (1).
Attributes.Size Attributes.Size deve essere impostato sulle dimensioni di ProposeDataformat2Input. Può essere calcolato in questo modo, quando è presente un attributo:

sizeof(ProposeDataformat2Input)

Nella tabella seguente viene fornita una descrizione degli elementi SignalProcessingModeAttribute della struttura di input KSPROPERTY_PIN_PROPOSEDATAFORMAT2.

Elemento Descrizione
SignalProcessingModeAttribute.AttributeHeader.Attribute L'elemento AttributeHeader.Attribute deve essere impostato sul KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE desiderato.
SignalProcessingModeAttribute.AttributeHeader.Flags L'elemento Flags è riservato per un uso futuro e deve essere sempre impostato su zero (0).
SignalProcessingModeAttribute.AttributeHeader.Size AttributeHeader.Size indica le dimensioni di KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE. Può essere calcolato come segue:

sizeof(KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE)
SignalProcessingModeAttribute.SignalProcessingMode L'elemento SignalProcessingMode deve essere impostato su SIGNALPROCESSINGMODE richiesto, ad esempio AUDIO_SIGNALPROCESSINGMODE_DEFAULT.

Per usare KSPROPERTY_PIN_PROPOSEDATAFORMAT2 definire la struttura seguente.

typedef struct
{
    KSP_PIN                                 PinProperty;
    KSMULTIPLE_ITEM                         Attributes;
    KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE  SignalProcessingModeAttribute;
} ProposeDataformat2Input;

Questo esempio di codice illustra come inizializzare la struttura.

ProposeDataformat2Input input = {0};

input.PinProperty.Property.Set = KSPROPSETID_Pin;  
input.PinProperty.Property.Id = KSPROPERTY_PIN_PROPOSEDATAFORMAT2;  
input.PinProperty.Property.Flags = KSPROPERTY_TYPE_GET;  
input.PinProperty.PinId = m_nPinId;  
input.PinProperty.Reserved = 0;     

input.Attributes.Count = 1;
input.Attributes.Size = sizeof(ProposeDataformat2Input) - RTL_SIZEOF_THROUGH_FIELD(ProposeDataformat2Input, PinProperty);

input.SignalProcessingModeAttribute.AttributeHeader.Attribute = KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE;
input.SignalProcessingModeAttribute.AttributeHeader.Flags = 0;
input.SignalProcessingModeAttribute.AttributeHeader.Size = sizeof(KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE);
input.SignalProcessingModeAttribute.SignalProcessingMode = gProcessingMode;

Requisiti

Versione: Disponibile a partire da Windows 8.1

Intestazione: ks.h (include Ks.h)

Vedi anche

KSP_PIN

KSDATAFORMAT

KSEVENT_PINCAPS_FORMATCHANGE

Proprietà KS

KSPROPERTY

KSPROPERTY_AUDIOSIGNALPROCESSING_MODES