Freigeben über


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

Siehe auch