Freigeben über


KSPROPERTY_PIN_PROPOSEDATAFORMAT2

Das Betriebssystem verwendet die KSPROPERTY_PIN_PROPOSEDATAFORMAT2-Eigenschaft , um zu bestimmen, ob der Treiber ein bevorzugtes Datenformat für eine Pin hat, wenn das angegebene Attribut angegeben wird.

Nutzungszusammenfassungstabelle

Herunterladen Set Ziel Eigenschaftsdeskriptortyp Eigenschaftswerttyp
Ja Nein Filter Siehe Hinweise KSDATAFORMAT

Bemerkungen

Der Eigenschaftsdeskriptor ist ein KSP_PIN gefolgt von einer KSMULTIPLE_ITEM, die eine Anzahl von Variablengrößenattributen angibt, die dem KSMULTIPLE_ITEM folgen. Jedes Attribut beginnt mit einem KSATTRIBUTE-Header gefolgt von Daten, die für das Attribut spezifisch sind. Die Attribute fungieren als Parameter für die Eigenschaftenanforderung und geben die vorgeschlagenen Datenformate an.

KSPROPERTY_PIN_PROPOSEDATAFORMAT2 eine Struktur vom Typ KSMULTIPLE_ITEM enthält,

Das einzige für die -Eigenschaft unterstützte Attribut ist KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE und wird mithilfe der KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE-Struktur angegeben. Beachten Sie, dass die KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE-Struktur mit einem KSATTRIBUTE-Member beginnt. Weitere Informationen finden Sie unter Audiosignalverarbeitungsmodi.

KSPROPERTY_TYPE_GET wird nur unterstützt, wenn die Pin Formate vorgeschlagen hat. Diese Funktion ermöglicht es dem Audiotreiber, Informationen über das Standarddatenformat für eine Pin unter Berücksichtigung des angegebenen Attributs bereitzustellen.

Der KS-Filter gibt STATUS_SUCCESS zurück, wenn pin das bevorzugte Datenformat für das angegebene Attribut aufweist. Wenn pin kein bevorzugtes Datenformat für das angegebene Attribut aufweist, wird STATUS_NOT_SUPPORTED zurückgegeben. Bei anderen Fehlern wird ein entsprechender Fehler zurückgegeben. Wenn der Treiber diese Eigenschaft unterstützt, verwendet das Betriebssystem immer dieses Format für den spezifischen Signalverarbeitungsmodus. KSPROPERTY_TYPE_SET wird für diese Eigenschaft nicht unterstützt.

Die folgende Tabelle enthält eine Beschreibung der KSPROPERTY_PIN_PROPOSEDATAFORMAT2 Eingabestruktur PinProperty-Elemente .

Element BESCHREIBUNG
PinProperty.Property.Set PinProperty.Property.Set sollte auf den KSPROPSETID_Pin für den angeforderten Modus festgelegt werden.
PinProperty.Property.Id Die PinProperty.Property.Id immer auf KSPROPERTY_PIN_PROPOSEDATAFORMAT2 festgelegt werden.
PinProperty.Property.Flags Die PinProperty.Property.Flags können auf KSPROPERTY_TYPE_GET oder auf KSPROPERTY_TYPE_BASICSUPPORT festgelegt werden, um grundlegende Informationen zur Eigenschaft zu ermitteln.
PinProperty.PinId Die PinProperty.PinId identifiziert den Zielpin für die KSPROPERTY_PIN_PROPOSEDATAFORMAT2 Anforderung.
PinProperty.Reserved PinProperty.Reserved ist für die zukünftige Verwendung reserviert und sollte immer auf 0 (0) festgelegt werden.

Die folgende Tabelle enthält eine Beschreibung der Elemente der KSPROPERTY_PIN_PROPOSEDATAFORMAT2 Eingabestruktur Attributes .

Element BESCHREIBUNG
Attributes.Count Attribute.Count sollte auf die Anzahl von Attributen festgelegt werden, normalerweise eins (1).
Attributes.Size Attribute.Size sollte auf die Größe des Vorschlagsformat2Input festgelegt werden. Es kann wie folgt berechnet werden, wenn ein Attribut vorhanden ist:

sizeof(ProposeDataformat2Input)

Die folgende Tabelle enthält eine Beschreibung der KSPROPERTY_PIN_PROPOSEDATAFORMAT2 Eingabestruktur SignalProcessingModeAttribute-Elemente .

Element BESCHREIBUNG
SignalProcessingModeAttribute.AttributeHeader.Attribute Das AttributHeader.Attribute-Element sollte auf gewünschte KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE festgelegt werden.
SignalProcessingModeAttribute.AttributeHeader.Flags Das Flags-Element ist für die zukünftige Verwendung reserviert und sollte immer auf 0 (0) festgelegt werden.
SignalProcessingModeAttribute.AttributeHeader.Size AttributeHeader.Size gibt die Größe von KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE an. Sie kann wie folgt berechnet werden:

sizeof(KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE)
SignalProcessingModeAttribute.SignalProcessingMode Das SignalProcessingMode-Element sollte auf das angeforderte SIGNALPROCESSINGMODE-Element festgelegt werden, z. B. AUDIO_SIGNALPROCESSINGMODE_DEFAULT.

Um KSPROPERTY_PIN_PROPOSEDATAFORMAT2 verwenden, definieren Sie die folgende Struktur.

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

In diesem Codebeispiel wird gezeigt, wie die Struktur initialisiert wird.

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;

Anforderungen

Version: Verfügbar ab Windows 8.1

Header: ks.h (include Ks.h)

Weitere Informationen

KSP_PIN

KSDATAFORMAT

KSEVENT_PINCAPS_FORMATCHANGE

KS-Eigenschaften

KSPROPERTY

KSPROPERTY_AUDIOSIGNALPROCESSING_MODES