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 Funktion oder eine Einstellung für den Steuerzustand dar, die zu einem ACX-Objekt gehört, z. B. eine Verbindung, ein Element, eine Pin, ein Stream usw. Weitere Informationen finden Sie unter KS-Eigenschaften.

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;

Member

Set

Gibt eine GUID an, die einen KS-Eigenschaftssatz (Kernelstreaming) identifiziert. Die KSPROPSETID_Topology Set-ID ist beispielsweise der Satz von Topologieschaltungseigenschaften. Weitere Informationen finden Sie unter KSPROPERTY-Struktur.

Id

Gibt den Member 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. Dieses Flag muss von allen Eigenschaftensätzen unterstützt werden. Und einige Objekte geben möglicherweise weitere Informationen zurück, z. B. Volumebereiche usw.

EvtAcxObjectProcessRequest

Der diesem Element zugeordnete EVT_ACX_OBJECT_PROCESS_REQUEST Rückrufeigenschaftenhandler .

Reserved

Dieses Feld ist reserviert.

ControlCb

Die Mindestanzahl in Bytes (Größe) des zusätzlichen Steuerelementpuffers. Legen Sie auf 0 (null) fest, wenn kein Minimalwert vorhanden ist.

ValueCb

Die Mindestanzahl in Bytes (Größe) des Wertpuffers. Legen Sie auf 0 (null) fest, 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

Das Beispiel für die Verwendung ist unten dargestellt.


#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

ACX-Mindestversion: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header acxrequest.h

Weitere Informationen