estructura ACX_PROPERTY_ITEM (acxrequest.h)
La estructura ACX_PROPERTY_ITEM describe un elemento de propiedad que es el destino de una solicitud ACX. Una propiedad representa una configuración de funcionalidad o estado de control que pertenece a un objeto ACX, como un circuito, un elemento, un pin, una secuencia, etc. Para obtener más información, vea propiedades de KS.
Sintaxis
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;
Miembros
Set
Especifica un GUID que identifica un conjunto de elementos de propiedad KS (streaming de kernel). Por ejemplo, el identificador de conjunto de KSPROPSETID_Topology es el conjunto de propiedades del circuito de topología Para obtener más información, vea estructura KSPROPERTY.
Id
Especifica el miembro del conjunto de propiedades. Por ejemplo, KSPROPERTY_TOPOLOGY_NODES del conjunto de propiedades de topología se usa para recuperar la lista de NODOS KS (ACXELEMENTS).
Flags
El campo Marcas se usa para establecer las siguientes marcas definidas en el encabezado 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: recupera el valor del elemento de propiedad especificado.
ACX_PROPERTY_ITEM_FLAG_SET: establece el valor del elemento de propiedad especificado.
ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT: consulta los tipos de solicitud que controla el controlador para este elemento de propiedad. Devuelve KSPROPERTY_TYPE_GET o KSPROPERTY_TYPE_SET o ambos. Todos los conjuntos de propiedades deben admitir esta marca. Y algún objeto puede devolver más información, como intervalos de volúmenes, etc.
EvtAcxObjectProcessRequest
Controlador de propiedad de devolución de llamada
Reserved
Este campo está reservado.
ControlCb
Recuento mínimo en bytes (tamaño) del búfer de control adicional. Se establece en cero si no hay ningún valor mínimo.
ValueCb
Recuento mínimo en bytes (tamaño) del búfer Valor. Se establece en cero si no hay ningún valor mínimo.
ValueType
Tipo VARENUM de la propiedad . Establézcalo en 0, es decir, VT_EMPTY para usar el comportamiento predeterminado.
Observaciones
Ejemplo
A continuación se muestra el uso de ejemplo.
#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
},
};
Requisitos de ACX
versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
encabezado de |
acxrequest.h |