Condividi tramite


struttura PCPROPERTY_REQUEST (portcls.h)

La struttura PCPROPERTY_REQUEST specifica una richiesta di proprietà.

Sintassi

typedef struct _PCPROPERTY_REQUEST {
  PUNKNOWN              MajorTarget;
  PUNKNOWN              MinorTarget;
  ULONG                 Node;
  const PCPROPERTY_ITEM *PropertyItem;
  ULONG                 Verb;
  ULONG                 InstanceSize;
  PVOID                 Instance;
  ULONG                 ValueSize;
  PVOID                 Value;
  PIRP                  Irp;
} PCPROPERTY_REQUEST, *PPCPROPERTY_REQUEST;

Members

MajorTarget

Puntatore IUnknown all'oggetto miniport principale. Questo membro contiene il valore del parametro UnknownMiniport passato in precedenza al metodo IPort::Init .

MinorTarget

Puntatore IUnknown a un oggetto di flusso associato all'oggetto miniport MajorTarget . Se la destinazione per la richiesta di proprietà è un'istanza pin, questo membro contiene il puntatore a oggetti di flusso restituito in precedenza dal metodo IMiniport Xxx::NewStream al driver della porta, ad esempio il parametro di Stream del metodo IMiniportWaveCyclic::NewStream. In caso contrario, se la destinazione per la richiesta di proprietà è un'istanza di filtro, questo membro è NULL.

Node

Specifica un ID nodo. Questo membro identifica il nodo di destinazione per la richiesta. Se la destinazione non è un nodo, questo membro è impostato su ULONG(-1).

PropertyItem

Puntatore all'elemento della proprietà, ovvero una struttura di tipo PCPROPERTY_ITEM.

Verb

Specifica il tipo di richiesta di proprietà. Il verbo è impostato sull'OR bit per bit di uno o più dei bit di flag seguenti dal file di intestazione ks.h:

  • KSPROPERTY_TYPE_GET
  • KSPROPERTY_TYPE_SET
  • KSPROPERTY_TYPE_SETSUPPORT
  • KSPROPERTY_TYPE_BASICSUPPORT
  • KSPROPERTY_TYPE_RELATIONS
  • KSPROPERTY_TYPE_SERIALIZESET
  • KSPROPERTY_TYPE_UNSERIALIZESET
  • KSPROPERTY_TYPE_SERIALIZERAW
  • KSPROPERTY_TYPE_UNSERIALIZERAW
  • KSPROPERTY_TYPE_SERIALIZESIZE
  • KSPROPERTY_TYPE_DEFAULTVALUES
  • KSPROPERTY_TYPE_TOPOLOGY
Questi flag sono descritti in KSPROPERTY.

InstanceSize

Specifica le dimensioni in byte del buffer dell'istanza di proprietà.

Instance

Puntatore al buffer dell'istanza di proprietà

ValueSize

Specifica le dimensioni in byte del buffer di proprietà-valore.

Value

Puntatore al buffer di proprietà-valore

Irp

Puntatore all'IRP contenente la richiesta originale della proprietà del client

Commenti

Si tratta della struttura che il driver della porta passa alla routine del gestore delle proprietà del driver miniport. La struttura PCPROPERTY_ITEM contiene un puntatore di funzione a un gestore di proprietà che accetta un puntatore PCPROPERTY_REQUEST come solo parametro di chiamata. Il driver di porta alloca una struttura PCPROPERTY_REQUEST , estrae le informazioni pertinenti dalla richiesta di proprietà originale (a cui punta il membro Irp ) e carica le informazioni in questa struttura prima di chiamare il gestore.

Nell'audio WDM la destinazione di una richiesta di proprietà può essere un'istanza di filtro o un'istanza di pin. La destinazione può includere anche un ID nodo.

Nella richiesta di proprietà originale del client, i dati dell'istanza della proprietà iniziano sempre con una struttura KSPROPERTY o KSNODEPROPERTY, ma possono includere informazioni aggiuntive. Il driver di porta regola il membro dell'istanza della struttura di PCPROPERTY_REQUEST per puntare a queste informazioni aggiuntive, se presente. Per informazioni dettagliate, vedere Gestori di proprietà audio.

I membri MajorTarget e MinorTarget sono rispettivamente puntatori IUnknown all'oggetto miniport principale e a un oggetto di flusso associato. Il gestore delle proprietà può eseguire query su questi oggetti per le interfacce miniport e stream. Se la destinazione per la richiesta di proprietà è un'istanza di filtro, MajorTarget punta all'oggetto miniport per tale istanza di filtro e MinorTarget è NULL. Se la destinazione è un'istanza di pin, MinorTarget punta all'oggetto stream per tale pin e MajorTarget punta all'oggetto miniport per il filtro a cui è collegato il pin.

Ad esempio, se la destinazione per la richiesta di proprietà è un'istanza di pin in un filtro WaveCyclic:

Per informazioni in background sulle proprietà audio, vedere Endpoint audio, proprietà ed eventi. Per un elenco delle proprietà specifiche dell'audio disponibili, vedere Set di proprietà dei driver audio.

Requisiti

Requisito Valore
Intestazione portcls.h (includere Portcls.h)

Vedi anche

KSNODEPROPERTY

KSNODEPROPERTY_AUDIO_CHANNEL

KSPROPERTY

PCPROPERTY_ITEM