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 |