Condividi tramite


struttura ACX_PROPERTY_ITEM (acxrequest.h)

La struttura ACX_PROPERTY_ITEM descrive un elemento di proprietà che rappresenta la destinazione di una richiesta ACX. Una proprietà rappresenta un'impostazione di funzionalità o di stato del controllo che appartiene a un oggetto ACX, ad esempio un circuito, un elemento, un pin, un flusso e così via. Per altre informazioni, vedere Proprietà KS.

Sintassi

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;

Members

Set

Specifica un GUID che identifica un set di elementi della proprietà KS (kernel streaming). Ad esempio, l'ID del set di KSPROPSETID_Topology è il set di proprietà del circuito della topologia. Per altre informazioni, vedere Struttura KSPROPERTY.

Id

Specifica il membro del set di proprietà. Ad esempio, KSPROPERTY_TOPOLOGY_NODES del set di proprietà della topologia viene usato per recuperare l'elenco di KS NODES (ACXELEMENTS).

Flags

Il campo Flags viene usato per impostare i flag seguenti definiti nell'intestazione 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 : recupera il valore dell'elemento della proprietà specificato.

ACX_PROPERTY_ITEM_FLAG_SET : imposta il valore dell'elemento della proprietà specificato.

ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT: esegue una query sui tipi di richiesta gestiti dal driver per questo elemento della proprietà. Restituisce KSPROPERTY_TYPE_GET o KSPROPERTY_TYPE_SET o entrambi. Tutti i set di proprietà devono supportare questo flag. E alcuni oggetti possono restituire altre informazioni, ad esempio intervalli di volumi e così via.

EvtAcxObjectProcessRequest

Gestore della proprietà di callback EVT_ACX_OBJECT_PROCESS_REQUEST associato a questo elemento.

Reserved

Questo campo è riservato.

ControlCb

Conteggio minimo in byte (dimensioni) del buffer di controllo aggiuntivo. Impostare su zero se nessun valore minimo.

ValueCb

Conteggio minimo in byte (dimensioni) del buffer Valore. Impostare su zero se non è presente alcun valore minimo.

ValueType

Tipo VARENUM della proprietà. Impostare su 0, ad esempio VT_EMPTY per usare il comportamento predefinito.

Commenti

Esempio

Di seguito è riportato un esempio di utilizzo.


#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
    },
};  

Requisiti di ACX

Versione minima di ACX: 1.0

Per altre informazioni sulle versioni ACX, vedere La panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxrequest.h

Vedi anche