Compartilhar via


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

Confira também