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 EVT_ACX_OBJECT_PROCESS_REQUEST asociado a este elemento.

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

Consulte también