Partager via


structure ACX_PROPERTY_ITEM (acxrequest.h)

La structure ACX_PROPERTY_ITEM décrit un élément de propriété qui est la cible d’une requête ACX. Une propriété représente un paramètre de capacité ou d’état de contrôle qui appartient à un objet ACX, tel qu’un circuit, un élément, une broche, un flux, etc. Pour plus d’informations, consultez Propriétés KS.

Syntaxe

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;

Membres

Set

Spécifie un GUID qui identifie un jeu d’éléments de propriété KS (kernel streaming). Par exemple, l’ID d’ensemble KSPROPSETID_Topology est l’ensemble des propriétés du circuit de topologie Pour plus d’informations, consultez Structure KSPROPERTY.

Id

Spécifie le membre du jeu de propriétés. Par exemple, KSPROPERTY_TOPOLOGY_NODES du jeu de propriétés de topologie est utilisé pour récupérer la liste des NŒUDS KS (ACXELEMENTS).

Flags

Le champ Indicateurs est utilisé pour définir les indicateurs suivants définis dans l’en-tête 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 : récupère la valeur de l’élément de propriété spécifié.

ACX_PROPERTY_ITEM_FLAG_SET : définit la valeur de l’élément de propriété spécifié.

ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT : interroge les types de requête que le pilote gère pour cet élément de propriété. Retourne KSPROPERTY_TYPE_GET ou KSPROPERTY_TYPE_SET ou les deux. Tous les jeux de propriétés doivent prendre en charge cet indicateur. Et certains objets peuvent retourner d’autres informations, telles que des plages de volumes, etc.

EvtAcxObjectProcessRequest

Gestionnaire de propriétés de rappel EVT_ACX_OBJECT_PROCESS_REQUEST associé à cet élément.

Reserved

Ce champ est réservé.

ControlCb

Nombre minimal en octets (taille) de la mémoire tampon de contrôle supplémentaire. Définissez sur zéro si aucune valeur minimale.

ValueCb

Nombre minimal en octets (taille) de la mémoire tampon Value. Définissez sur zéro s’il n’y a pas de valeur minimale.

ValueType

Type VARENUM de la propriété. Défini sur 0, c’est-à-dire VT_EMPTY pour utiliser le comportement par défaut.

Remarques

Exemple

L’exemple d’utilisation est illustré ci-dessous.


#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
    },
};  

Configuration requise d’ACX

Version minimale d’ACX : 1.0

Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.

Configuration requise

Condition requise Valeur
En-tête acxrequest.h

Voir aussi