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 |