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 une fonctionnalité ou un paramètre 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 (noyau streaming). Par exemple, l’ID de jeu de KSPROPSETID_Topology est l’ensemble de propriétés de 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 de l’ensemble de propriétés de topologie est utilisée 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êtes gérés par le pilote 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 plus d’informations, telles que des plages de volumes, etc.
EvtAcxObjectProcessRequest
Le EVT_ACX_OBJECT_PROCESS_REQUEST gestionnaire de propriétés associé à cet élément.
Reserved
Ce champ est réservé.
ControlCb
Nombre minimal d’octets (taille) de la mémoire tampon de contrôle supplémentaire. Défini sur zéro si aucune valeur minimale n’est définie.
ValueCb
Nombre minimal d’octets (taille) de la mémoire tampon Valeur. Défini 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 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 pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxrequest.h |