다음을 통해 공유


KSPROPERTY_PIN_PROPOSEDATAFORMAT2

OS는 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 속성을 사용하여 지정된 특성이 지정된 경우 드라이버가 핀에 기본 설정 데이터 형식이 있는지 확인합니다.

사용 요약 테이블

가져오기 설정 대상 속성 설명자 형식 속성 값 형식
아니요 필터 설명 보기 KSDATAFORMAT

설명

속성 설명자는 KSP_PIN 뒤에 KSMULTIPLE_ITEM 따라 가변 크기 특성의 수를 지정하는 KSMULTIPLE_ITEM 입니다. 각 특성은 KSATTRIBUTE 헤더와 특성 관련 데이터로 시작합니다. 특성은 속성 요청에 대한 매개 변수 역할을 하며 제안된 데이터 형식을 지정합니다.

KSPROPERTY_PIN_PROPOSEDATAFORMAT2형식 KSMULTIPLE_ITEM 구조체를 포함합니다.

속성에 대해 지원되는 유일한 특성은 KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODEKSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE 구조를 사용하여 지정됩니다. KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE 구조체는 KSATTRIBUTE 멤버로 시작합니다. 자세한 내용은 오디오 신호 처리 모드를 참조하세요.

KSPROPERTY_TYPE_GET 핀에 제안된 형식이 있는 경우에만 지원됩니다. 이 함수를 사용하면 오디오 드라이버가 지정된 특성에 따라 핀의 기본 데이터 형식에 대한 정보를 제공할 수 있습니다.

고정에 지정된 특성에 대한 기본 데이터 형식이 있는 경우 KS 필터는 STATUS_SUCCESS 반환합니다. 핀에 지정된 특성에 대한 기본 설정 데이터 형식이 없으면 STATUS_NOT_SUPPORTED 반환합니다. 다른 오류의 경우 적절한 오류가 반환됩니다. 드라이버가 이 속성을 지원하는 경우 OS는 항상 특정 신호 처리 모드에 이 형식을 사용합니다. 이 속성에는 KSPROPERTY_TYPE_SET 지원되지 않습니다.

다음 표에서는 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 입력 구조 PinProperty 요소에 대한 설명을 제공합니다.

요소 Description
PinProperty.Property.Set PinProperty.Property.Set는 요청된 모드의 KSPROPSETID_Pin 설정해야 합니다.
PinProperty.Property.Id PinProperty.Property.Id 항상 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 설정됩니다.
PinProperty.Property.Flags PinProperty.Property.Flags를 KSPROPERTY_TYPE_GET 또는 KSPROPERTY_TYPE_BASICSUPPORT 설정하여 속성에 대한 기본 정보를 확인할 수 있습니다.
PinProperty.PinId PinProperty.PinId는 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 요청에 대한 대상 핀을 식별합니다.
PinProperty.Reserved PinProperty.Reserved는 나중에 사용하도록 예약되어 있으며 항상 0으로 설정해야 합니다.

다음 표에서는 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 입력 구조 특성 요소에 대한 설명을 제공합니다.

요소 Description
Attributes.Count Attributes.Count는 특성 수(일반적으로 1)로 설정해야 합니다.
Attributes.Size Attributes.Size는 ProposeDataformat2Input의 크기로 설정해야 합니다. 특성이 하나 있는 경우 다음과 같이 계산할 수 있습니다.

sizeof(ProposeDataformat2Input)

다음 표에서는 KSPROPERTY_PIN_PROPOSEDATAFORMAT2 입력 구조 SignalProcessingModeAttribute 요소에 대한 설명을 제공합니다.

요소 Description
SignalProcessingModeAttribute.AttributeHeader.Attribute AttributeHeader.Attribute 요소는 원하는 KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE 설정해야 합니다.
SignalProcessingModeAttribute.AttributeHeader.Flags Flags 요소는 나중에 사용할 수 있도록 예약되어 있으며 항상 0으로 설정해야 합니다.
SignalProcessingModeAttribute.AttributeHeader.Size AttributeHeader.Size는 KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE 크기를 나타냅니다. 다음과 같이 계산할 수 있습니다.

sizeof(KSATTRIBUTE_AUDIOSIGNALPROCESSING_MODE)
SignalProcessingModeAttribute.SignalProcessingMode SignalProcessingMode 요소는 요청된 SIGNALPROCESSINGMODE로 설정해야 합니다(예: AUDIO_SIGNALPROCESSINGMODE_DEFAULT).

KSPROPERTY_PIN_PROPOSEDATAFORMAT2 사용하려면 다음 구조를 정의합니다.

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

이 코드 샘플에서는 구조를 초기화하는 방법을 보여줍니다.

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;

요구 사항

버전: Windows 8.1 시작

헤더: ks.h(Ks.h 포함)

추가 정보

KSP_PIN

KSDATAFORMAT

KSEVENT_PINCAPS_FORMATCHANGE

KS 속성

KSPROPERTY

KSPROPERTY_AUDIOSIGNALPROCESSING_MODES