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 Funktion oder Eine Einstellung für den Steuerstatus dar, die zu einem ACX-Objekt gehört, z. B. eine Leitung, ein Element, eine Pin, ein Datenstrom 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 Topologie-Leitungseigenschaften. 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. Dieses Flag müssen von allen Eigenschaftensätzen unterstützt werden. Und einige Objekte geben möglicherweise weitere Informationen zurück, z. B. Volumebereiche usw.

EvtAcxObjectProcessRequest

Der EVT_ACX_OBJECT_PROCESS_REQUEST Rückrufeigenschaftenhandler , der diesem Element zugeordnet ist.

Reserved

Dieses Feld ist reserviert.

ControlCb

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

ValueCb

Die Mindestanzahl in Bytes (Größe) des Wertpuffers. Legen Sie auf null fest, wenn kein Mindestwert 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 Verwendungsbeispiele finden Sie unten.


#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