PCPROPERTY_REQUEST 구조체(portcls.h)

PCPROPERTY_REQUEST 구조체는 속성 요청을 지정합니다.

구문

typedef struct _PCPROPERTY_REQUEST {
  PUNKNOWN              MajorTarget;
  PUNKNOWN              MinorTarget;
  ULONG                 Node;
  const PCPROPERTY_ITEM *PropertyItem;
  ULONG                 Verb;
  ULONG                 InstanceSize;
  PVOID                 Instance;
  ULONG                 ValueSize;
  PVOID                 Value;
  PIRP                  Irp;
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;

멤버

MajorTarget

기본 미니포트 개체에 대한 IUnknown 포인터입니다. 이 멤버에는 어댑터 드라이버가 이전에 IPort::Init 메서드에 전달한 UnknownMiniport 매개 변수 값이 포함되어 있습니다.

MinorTarget

MajorTarget 미니포트 개체와 연결된 스트림 개체에 대한 IUnknown 포인터입니다. 속성 요청의 대상이 핀 instance 경우 이 멤버에는 이전에 IMiniport Xxx::NewStream 메서드가 포트 드라이버에 출력한 스트림 개체 포인터가 포함됩니다(예: IMiniportWaveCyclic::NewStream 메서드의 Stream 매개 변수). 그렇지 않으면(속성 요청의 대상이 필터 instance 경우) 이 멤버는 NULL입니다.

Node

노드 ID를 지정합니다. 이 멤버는 요청에 대한 대상 노드를 식별합니다. 대상이 노드가 아닌 경우 이 멤버는 ULONG(-1)로 설정됩니다.

PropertyItem

PCPROPERTY_ITEM 형식의 구조인 속성 항목에 대한 포인터입니다.

Verb

속성 요청의 유형을 지정합니다. 동사는 헤더 파일 ks.h에서 다음 플래그 비트 중 하나 이상의 비트 OR로 설정됩니다.

  • KSPROPERTY_TYPE_GET
  • KSPROPERTY_TYPE_SET
  • KSPROPERTY_TYPE_SETSUPPORT
  • KSPROPERTY_TYPE_BASICSUPPORT
  • KSPROPERTY_TYPE_RELATIONS
  • KSPROPERTY_TYPE_SERIALIZESET
  • KSPROPERTY_TYPE_UNSERIALIZESET
  • KSPROPERTY_TYPE_SERIALIZERAW
  • KSPROPERTY_TYPE_UNSERIALIZERAW
  • KSPROPERTY_TYPE_SERIALIZESIZE
  • KSPROPERTY_TYPE_DEFAULTVALUES
  • KSPROPERTY_TYPE_TOPOLOGY
이러한 플래그는 KSPROPERTY에 설명되어 있습니다.

InstanceSize

속성 instance 버퍼의 크기(바이트)를 지정합니다.

Instance

속성 instance 버퍼에 대한 포인터

ValueSize

속성-값 버퍼의 크기(바이트)를 지정합니다.

Value

속성-값 버퍼에 대한 포인터

Irp

클라이언트의 원래 속성 요청을 포함하는 IRP 에 대한 포인터

설명

포트 드라이버가 미니포트 드라이버의 속성 처리기 루틴에 전달하는 구조입니다. PCPROPERTY_ITEM 구조체에는 PCPROPERTY_REQUEST 포인터를 유일한 호출 매개 변수로 사용하는 속성 처리기에 대한 함수 포인터가 포함되어 있습니다. 포트 드라이버는 PCPROPERTY_REQUEST 구조를 할당하고, Irp 멤버가 가리키는 원래 속성 요청에서 관련 정보를 추출하고, 처리기를 호출하기 전에 이 구조체에 정보를 로드합니다.

WDM 오디오에서 속성 요청의 대상은 필터 instance 또는 핀 instance 수 있습니다. 대상에는 노드 ID도 포함될 수 있습니다.

클라이언트의 원래 속성 요청에서 속성 instance 데이터는 항상 KSPROPERTY 또는 KSNODEPROPERTY 구조로 시작하지만 추가 정보를 포함할 수 있습니다. 포트 드라이버는 PCPROPERTY_REQUEST 구조체의 인스턴스 멤버가 있는 경우 이 추가 정보를 가리키도록 조정합니다. 자세한 내용은 오디오 속성 처리기를 참조하세요.

MajorTargetMinorTarget 멤버는 각각 기본 미니포트 개체 및 연결된 스트림 개체에 대한 IUnknown 포인터입니다. 속성 처리기는 미니포트 및 스트림 인터페이스에 대해 이러한 개체를 쿼리할 수 있습니다. 속성 요청의 대상이 필터 instance 경우 MajorTarget은 해당 필터 instance 대한 미니포트 개체를 가리키고 MinorTargetNULL입니다. 대상이 핀 instance 경우 MinorTarget은 해당 핀의 스트림 개체를 가리키고 MajorTarget은 핀이 연결된 필터의 미니포트 개체를 가리킵니다.

예를 들어 속성 요청의 대상이 WaveCyclic 필터의 핀 instance 경우:

오디오 속성에 대한 배경 정보는 오디오 엔드포인트, 속성 및 이벤트를 참조하세요. 사용 가능한 오디오 관련 속성 목록은 오디오 드라이버 속성 집합을 참조하세요.

요구 사항

요구 사항
헤더 portcls.h(Portcls.h 포함)

추가 정보

KSNODEPROPERTY

KSNODEPROPERTY_AUDIO_CHANNEL

KSPROPERTY

PCPROPERTY_ITEM