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
“标志”字段用于设置 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
Value 缓冲区的最小计数(以字节为单位)。 如果没有最小值,则设置为零。
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 |