Método IPart::GetSubType (devicetopology.h)

El método GetSubType obtiene el subtipo de parte de esta parte.

Sintaxis

HRESULT GetSubType(
  [out] GUID *pSubType
);

Parámetros

[out] pSubType

Puntero a una variable GUID en la que el método escribe el GUID de subtipo para esta parte.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_POINTER
El puntero pSubType es NULL.

Comentarios

Este método normalmente recupera uno de los valores guid de KSNODETYPE_Xxx del archivo de encabezado Ksmedia.h, aunque algunos controladores personalizados podrían proporcionar otros valores GUID. Para obtener más información sobre KSNODETYPE_Xxx GUID, consulte la documentación de DDK de Windows.

Como se explica en IPart Interface, una parte puede ser un conector o una subunidad.

Para una parte que es un conector, este método recupera el GUID de categoría de anclaje que el controlador ha asignado al conector. A continuación se muestran ejemplos de GUID de categoría de pin:

  • KSNODETYPE_ANALOG_CONNECTOR, si el conector forma parte de la ruta de acceso de datos hacia o desde un dispositivo analógico, como un micrófono o altavoces.
  • KSNODETYPE_SPDIF_INTERFACE, si el conector forma parte de la ruta de acceso de datos hacia o desde un puerto S/PDIF.
Para obtener más información, vea la explicación de la propiedad pin-category, KSPROPERTY_PIN_CATEGORY, en la documentación de DDK de Windows.

Para una parte que es una subunidad, este método recupera un GUID de subtipo que indica la función de procesamiento de secuencias que realiza la subunidad. Por ejemplo, para una subunidad de control de volumen, el método recupera el valor GUID KSNODETYPE_VOLUME.

En la tabla siguiente se enumeran algunos de los GUID de subtipo que el método GetSubType puede recuperar para una subunidad.

GUID de subtipo Interfaz de control Obligatorio u opcional
KSNODETYPE_3D_EFFECTS IAudioChannelConfig Opcionales
KSNODETYPE_AGC IAudioAutoGainControl Requerido
KSNODETYPE_DAC IAudioChannelConfig Opcionales
KSNODETYPE_DEMUX IAudioOutputSelector Requerido
KSNODETYPE_DEV_SPECIFIC IDeviceSpecificProperty Requerido
KSNODETYPE_LOUDNESS IAudioLoudness Requerido
KSNODETYPE_MUTE IAudioMute Requerido
KSNODETYPE_MUX IAudioInputSelector Requerido
KSNODETYPE_PEAKMETER IAudioPeakMeter Requerido
KSNODETYPE_PROLOGIC_DECODER IAudioChannelConfig Opcionales
KSNODETYPE_TONE IAudioBass

IAudioMidrange

IAudioTreble

OptionalOptional

Opcionales

KSNODETYPE_VOLUME IAudioChannelConfig

IAudioVolumeLevel

OptionalRequired
 

En la tabla anterior, la columna central enumera las interfaces de control admitidas por las subunits del subtipo especificado en la columna izquierda. La columna derecha indica si la compatibilidad de la subbúnit con una interfaz de control es necesaria o opcional. Si se requiere compatibilidad, una aplicación puede confiar en una subunidad del subtipo especificado para admitir la interfaz de control. Si la compatibilidad es opcional, una subunidad del subtipo especificado puede, pero no necesariamente, admite la interfaz de control.

Las interfaces de control de la tabla anterior proporcionan acceso práctico a las propiedades de las subunits. Sin embargo, algunas subunits tienen propiedades para las que no existen interfaces de control correspondientes. Las aplicaciones pueden acceder a estas propiedades a través de la interfaz IKsControl . Para obtener más información, vea Usar la interfaz IKsControl para acceder a las propiedades de audio.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado devicetopology.h

Consulte también

IPart (interfaz)