ACX_PROPERTY_ITEM Struktur (acxrequest.h)
Die ACX_PROPERTY_ITEM Struktur beschreibt ein Eigenschaftselement, das das Ziel einer ACX-Anforderung ist. Eine Eigenschaft stellt eine Funktions- oder Steuerungszustandseinstellung dar, die zu einem ACX-Objekt gehört, z. B. einem Schaltkreis, Element, Pin, Datenstrom usw. Weitere Informationen finden Sie unter KS Properties.
Syntax
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;
Angehörige
Set
Gibt eine GUID an, die einen KS -Eigenschaftssatz (Kernelstreaming) identifiziert. Die KSPROPSETID_Topology Satz-ID ist z. B. der Satz von Topologie-Schaltkreiseigenschaften. Weitere Informationen finden Sie unter KSPROPERTY-Struktur.
Id
Gibt das Element des Eigenschaftensatzes an. Beispielsweise wird KSPROPERTY_TOPOLOGY_NODES des Topologieeigenschaftensatzes verwendet, um die Liste der KS-KNOTEN (ACXELEMENTS) abzurufen.
Flags
Das Feld "Flags" wird verwendet, um die folgenden Flags festzulegen, die im AcxRequest-Header definiert sind.
#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 – Ruft den Wert des angegebenen Eigenschaftselements ab.
ACX_PROPERTY_ITEM_FLAG_SET – Legt den Wert des angegebenen Eigenschaftselements fest.
ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT – Fragt die Anforderungstypen ab, die der Treiber für dieses Eigenschaftselement verarbeitet. Gibt KSPROPERTY_TYPE_GET oder KSPROPERTY_TYPE_SET oder beides zurück. Alle Eigenschaftensätze müssen dieses Flag unterstützen. Und einige Objekte geben möglicherweise weitere Informationen zurück, z. B. Volumenbereiche usw.
EvtAcxObjectProcessRequest
Der EVT_ACX_OBJECT_PROCESS_REQUEST Rückruf Eigenschaftenhandlers, der diesem Element zugeordnet ist.
Reserved
Dieses Feld ist reserviert.
ControlCb
Die Mindestanzahl in Bytes (Größe) des zusätzlichen Steuerelementpuffers. Wird auf Null festgelegt, wenn kein Minimalwert vorhanden ist.
ValueCb
Die Mindestanzahl in Bytes (Größe) des Wertpuffers. Wird auf Null festgelegt, wenn kein Minimalwert vorhanden ist.
ValueType
Der VARENUM-Typ der Eigenschaft. Legen Sie auf 0 fest, d. h. VT_EMPTY, um das Standardverhalten zu verwenden.
Bemerkungen
Beispiel
Die Beispielverwendung wird unten gezeigt.
#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
},
};
ACX-Anforderungen
Mindestens ACX-Version: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
Anforderung | Wert |
---|---|
Header- | acxrequest.h |