Поделиться через


структура 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

Указывает GUID, определяющий набор элементов свойств KS (потоковая передача ядра). Например, идентификатор набора KSPROPSETID_Topology — это набор свойств канала топологии. Дополнительные сведения см. в структуре 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

Минимальное число в байтах (размер) дополнительного буфера управления. Установите значение нуля, если минимальное значение не задано.

ValueCb

Минимальное число в байтах (размер) буфера значений. Установите значение нулю, если не существует минимального значения.

ValueType

Тип VARENUM свойства. Установите значение 0, т. е. VT_EMPTY использовать поведение по умолчанию.

Замечания

Пример

Ниже показан пример использования.


#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

См. также

  • заголовка acxrequest.h