ACX_PROPERTY_ITEM 구조체(acxrequest.h)

ACX_PROPERTY_ITEM 구조체는 ACX 요청의 대상인 속성 항목을 설명합니다. 속성은 회로, 요소, 핀, 스트림 등 ACX 개체에 속하는 기능 또는 컨트롤 상태 설정을 나타냅니다. 자세한 내용은 KS 속성을 참조하세요.

구문

typedef struct _ACX_PROPERTY_ITEM {
  const GUID                     *Set;
  ULONG                          Id;
  ULONG                          Flags;
  PFN_ACX_OBJECT_PROCESS_REQUEST EvtAcxObjectProcessRequest;
  PVOID                          Reserved;
  ULONG                          ControlCb;
  ULONG                          ValueCb;
  ULONG                          ValueType;
} ACX_PROPERTY_ITEM, *PACX_PROPERTY_ITEM;

멤버

Set

KS(커널 스트리밍) 속성 항목 집합을 식별하는 GUID를 지정합니다. 예를 들어 KSPROPSETID_Topology 집합 ID는 토폴로지 회로 속성 집합입니다. 자세한 내용은 KSPROPERTY 구조를 참조하세요.

Id

속성 집합의 멤버를 지정합니다. 예를 들어 토폴로지 속성 집합의 KSPROPERTY_TOPOLOGY_NODES KS NODES(ACXELEMENTS) 목록을 검색하는 데 사용됩니다.

Flags

Flags 필드는 AcxRequest 헤더에 정의된 다음 플래그를 설정하는 데 사용됩니다.


#define ACX_PROPERTY_ITEM_FLAG_NONE             0x00000000
#define ACX_PROPERTY_ITEM_FLAG_GET              0x00000001 // KSPROPERTY_TYPE_GET
#define ACX_PROPERTY_ITEM_FLAG_SET              0x00000002 // KSPROPERTY_TYPE_SET
#define ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT     0x00000200 // KSPROPERTY_TYPE_BASICSUPPORT

ACX_PROPERTY_ITEM_FLAG_GET - 지정된 속성 항목의 값을 검색합니다.

ACX_PROPERTY_ITEM_FLAG_SET - 지정된 속성 항목의 값을 설정합니다.

ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT - 드라이버가 이 속성 항목에 대해 처리하는 요청 유형을 쿼리합니다. KSPROPERTY_TYPE_GET 또는 KSPROPERTY_TYPE_SET 또는 둘 다를 반환합니다. 모든 속성 집합은 이 플래그를 지원해야 합니다. 또한 일부 개체는 볼륨 범위 등과 같은 추가 정보를 반환할 수 있습니다.

EvtAcxObjectProcessRequest

이 항목과 연결된 EVT_ACX_OBJECT_PROCESS_REQUEST 콜백 속성 처리기입니다.

Reserved

이 필드는 예약되어 있습니다.

ControlCb

추가 컨트롤 버퍼의 최소 수(바이트)입니다. 최소값이 없으면 0으로 설정합니다.

ValueCb

값 버퍼의 최소 개수(바이트)입니다. 최소값이 없으면 0으로 설정합니다.

ValueType

속성의 VARENUM 형식입니다. 기본 동작을 사용하도록 VT_EMPTY 0으로 설정합니다.

설명

예제

예제 사용법은 다음과 같습니다.


#define ACX_PROPERTY_ITEM_FLAG_NONE             0x00000000
#define ACX_PROPERTY_ITEM_FLAG_GET              0x00000001 // KSPROPERTY_TYPE_GET
#define ACX_PROPERTY_ITEM_FLAG_SET              0x00000002 // KSPROPERTY_TYPE_SET
#define ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT     0x00000200 // KSPROPERTY_TYPE_BASICSUPPORT

// Pin properties.
static ACX_PROPERTY_ITEM PinProperties[] =
{
    {
        &KSPROPSETID_Pin,
        KSPROPERTY_PIN_DATAFLOW,
        ACX_PROPERTY_ITEM_FLAG_GET,
        &AfxPin::EvtPinDataflowCallback,
        NULL,                       // Reserved
        0,                          // ControlCb
        sizeof(KSPIN_DATAFLOW),     // ValueCb
    },
};  

ACX 요구 사항

최소 ACX 버전: 1.0

ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.

요구 사항

요구 사항
헤더 acxrequest.h

추가 정보