Share via


estructura PCPROPERTY_REQUEST (portcls.h)

La estructura PCPROPERTY_REQUEST especifica una solicitud de propiedad.

Sintaxis

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;

Miembros

MajorTarget

Puntero IUnknown al objeto miniport principal. Este miembro contiene el valor del parámetro UnknownMiniport que el controlador del adaptador pasó anteriormente al método IPort::Init .

MinorTarget

Puntero IUnknown a un objeto de secuencia asociado al objeto MajorTarget miniport. Si el destino de la solicitud de propiedad es una instancia de pin, este miembro contiene el puntero de objeto de secuencia que el método IMiniport Xxx::NewStream genera previamente al controlador de puerto (por ejemplo, el parámetro Stream del método IMiniportWave::NewStream). De lo contrario (si el destino de la solicitud de propiedad es una instancia de filtro), este miembro es NULL.

Node

Especifica un identificador de nodo. Este miembro identifica el nodo de destino de la solicitud. Si el destino no es un nodo, este miembro se establece en ULONG(-1).

PropertyItem

Puntero al elemento de propiedad, que es una estructura de tipo PCPROPERTY_ITEM.

Verb

Especifica el tipo de solicitud de propiedad. El verbo se establece en el OR bit a bit de uno o varios de los siguientes bits de marca del archivo de encabezado 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
Estas marcas se describen en KSPROPERTY.

InstanceSize

Especifica el tamaño en bytes del búfer de instancia de propiedad.

Instance

Puntero al búfer de instancia de propiedad

ValueSize

Especifica el tamaño en bytes del búfer de valor de propiedad.

Value

Puntero al búfer de valor de propiedad

Irp

Puntero al IRP que contiene la solicitud de propiedad original del cliente

Comentarios

Esta es la estructura que pasa el controlador de puerto a la rutina de controlador de propiedades del controlador de miniporte. La estructura PCPROPERTY_ITEM contiene un puntero de función a un controlador de propiedades que toma un puntero PCPROPERTY_REQUEST como único parámetro de llamada. El controlador de puerto asigna una estructura de PCPROPERTY_REQUEST , extrae la información pertinente de la solicitud de propiedad original (a la que apunta el miembro Irp ) y carga la información en esta estructura antes de llamar al controlador.

En el audio WDM, el destino de una solicitud de propiedad puede ser una instancia de filtro o una instancia de anclaje. El destino también puede incluir un identificador de nodo.

En la solicitud de propiedad original del cliente, los datos de la instancia de propiedad siempre comienzan con una estructura KSPROPERTY o KSNODEPROPERTY , pero pueden incluir información adicional. El controlador de puerto ajusta el miembro instance de la estructura PCPROPERTY_REQUEST para que apunte a esta información adicional, si existe. Para obtener más información, consulte Controladores de propiedades de audio.

Los miembros MajorTarget y MinorTarget son punteros IUnknown al objeto miniport principal y a un objeto de secuencia asociado, respectivamente. El controlador de propiedades puede consultar estos objetos para sus interfaces de minipuerto y secuencia. Si el destino de la solicitud de propiedad es una instancia de filtro, MajorTarget apunta al objeto miniport para esa instancia de filtro y MinorTarget es NULL. Si el destino es una instancia de pin, MinorTarget apunta al objeto stream de ese pin y MajorTarget apunta al objeto miniport para el filtro al que está asociado el pin.

Por ejemplo, si el destino de la solicitud de propiedad es una instancia de pin en un filtro WaveCíclico:

Para obtener información general sobre las propiedades de audio, vea Puntos de conexión de audio, Propiedades y eventos. Para obtener una lista de las propiedades específicas de audio disponibles, consulte Conjuntos de propiedades de controladores de audio.

Requisitos

Requisito Valor
Header portcls.h (incluya Portcls.h)

Consulte también

KSNODEPROPERTY

KSNODEPROPERTY_AUDIO_CHANNEL

KSPROPERTY

PCPROPERTY_ITEM