estrutura ACX_PROPERTY_ITEM (acxrequest.h)
A estrutura ACX_PROPERTY_ITEM descreve um item de propriedade que é o destino de uma solicitação ACX. Uma propriedade representa uma configuração de capacidade ou estado de controle que pertence a um objeto ACX, como um circuito, elemento, pin, fluxo etc. Para obter mais informações, consulte Propriedades do KS.
Sintaxe
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;
Membros
Set
Especifica um GUID que identifica um conjunto de itens de propriedade KS (streaming de kernel). Por exemplo, a ID do conjunto de KSPROPSETID_Topology é o conjunto de propriedades do circuito de topologia Para obter mais informações, consulte Estrutura KSPROPERTY.
Id
Especifica o membro do conjunto de propriedades. Por exemplo, KSPROPERTY_TOPOLOGY_NODES do conjunto de propriedades de topologia é usado para recuperar a lista de KS NODES (ACXELEMENTS).
Flags
O campo Sinalizadores é usado para definir os sinalizadores a seguir definidos no cabeçalho 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 o valor do item de propriedade especificado.
ACX_PROPERTY_ITEM_FLAG_SET – define o valor do item de propriedade especificado.
ACX_PROPERTY_ITEM_FLAG_BASICSUPPORT – consulta os tipos de solicitação que o driver manipula para esse item de propriedade. Retorna KSPROPERTY_TYPE_GET ou KSPROPERTY_TYPE_SET ou ambos. Todos os conjuntos de propriedades devem dar suporte a esse sinalizador. E algum objeto pode retornar mais informações, como intervalos de volume etc.
EvtAcxObjectProcessRequest
O EVT_ACX_OBJECT_PROCESS_REQUEST manipulador de propriedades de retorno de chamada associado a este item.
Reserved
Este campo é reservado.
ControlCb
A contagem mínima em bytes (tamanho) do buffer de controle adicional. Defina como zero se nenhum valor mínimo.
ValueCb
A contagem mínima em bytes (tamanho) do buffer De valor. Defina como zero se não houver valor mínimo.
ValueType
O tipo VARENUM da propriedade . Defina como 0, ou seja, VT_EMPTY usar o comportamento padrão.
Comentários
Exemplo
O uso de exemplo é mostrado abaixo.
#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
},
};
Requisitos do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxrequest.h |