structure PCPROPERTY_REQUEST (portcls.h)

La structure PCPROPERTY_REQUEST spécifie une demande de propriété.

Syntaxe

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;

Membres

MajorTarget

Pointeur IUnknown vers l’objet miniport main. Ce membre contient la valeur du paramètre UnknownMiniport que le pilote de l’adaptateur a précédemment passée à la méthode IPort ::Init .

MinorTarget

Pointeur IUnknown vers un objet de flux associé à l’objet miniport MajorTarget . Si la cible de la demande de propriété est une broche instance, ce membre contient le pointeur stream-object que la méthode IMiniport Xxx ::NewStream a précédemment généré vers le pilote de port (par exemple, le paramètre Stream de la méthode IMiniportWaveCyclique ::NewStream). Sinon (si la cible de la demande de propriété est un filtre instance), ce membre est NULL.

Node

Spécifie un ID de nœud. Ce membre identifie le nœud cible pour la requête. Si la cible n’est pas un nœud, ce membre est défini sur ULONG(-1).

PropertyItem

Pointeur vers l’élément de propriété, qui est une structure de type PCPROPERTY_ITEM.

Verb

Spécifie le type de demande de propriété. Verb a la valeur OR au niveau du bit d’un ou de plusieurs des bits d’indicateur suivants du fichier d’en-tête 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
Ces indicateurs sont décrits dans KSPROPERTY.

InstanceSize

Spécifie la taille en octets de la mémoire tampon instance propriété.

Instance

Pointeur vers la mémoire tampon instance de propriétés

ValueSize

Spécifie la taille en octets de la mémoire tampon propriété-valeur.

Value

Pointeur vers la mémoire tampon propriété-valeur

Irp

Pointeur vers l’IRP contenant la demande de propriété d’origine du client

Remarques

Il s’agit de la structure que le pilote de port transmet à la routine de gestionnaire de propriétés du pilote miniport. La structure PCPROPERTY_ITEM contient un pointeur de fonction vers un gestionnaire de propriétés qui prend un pointeur PCPROPERTY_REQUEST comme seul paramètre d’appel. Le pilote de port alloue une structure PCPROPERTY_REQUEST , extrait les informations pertinentes de la demande de propriété d’origine (vers laquelle pointe le membre Irp ) et charge les informations dans cette structure avant d’appeler le gestionnaire.

Dans l’audio WDM, la cible d’une demande de propriété peut être un filtre instance ou une broche instance. La cible peut également inclure un ID de nœud.

Dans la demande de propriété d’origine du client, les données instance propriété commencent toujours par une structure KSPROPERTY ou KSNODEPROPERTY, mais peuvent inclure des informations supplémentaires. Le pilote de port ajuste le membre d’instance de la structure PCPROPERTY_REQUEST pour qu’il pointe vers ces informations supplémentaires, le cas échéant. Pour plus d’informations, consultez Gestionnaires de propriétés audio.

Les membres MajorTarget et MinorTarget sont des pointeurs IUnknown vers l’objet miniport main et un objet stream associé, respectivement. Le gestionnaire de propriétés peut interroger ces objets pour leurs interfaces de miniport et de flux. Si la cible de la demande de propriété est un filtre instance, MajorTarget pointe vers l’objet miniport pour ce filtre instance, et MinorTarget a la valeur NULL. Si la cible est une broche instance, MinorTarget pointe vers l’objet de flux pour cette broche, et MajorTarget pointe vers l’objet miniport pour le filtre auquel la broche est attachée.

Par exemple, si la cible de la demande de propriété est une broche instance sur un filtre WaveCyclique :

Pour obtenir des informations générales sur les propriétés audio, consultez Points de terminaison audio, propriétés et événements. Pour obtenir la liste des propriétés audio disponibles spécifiques, consultez Jeux de propriétés de pilotes audio.

Configuration requise

Condition requise Valeur
En-tête portcls.h (include Portcls.h)

Voir aussi

KSNODEPROPERTY

KSNODEPROPERTY_AUDIO_CHANNEL

KSPROPERTY

PCPROPERTY_ITEM