структура 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 (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, чтобы использовать поведение по умолчанию.
Remarks
Пример
Ниже приведен пример использования.
#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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по