KSPIN_DESCRIPTOR structure (ks.h)

The KSPIN_DESCRIPTOR structure describes the basic KSPROPSETID_Pin properties of a pin type.

Syntax

typedef struct {
  ULONG                 InterfacesCount;
  const KSPIN_INTERFACE *Interfaces;
  ULONG                 MediumsCount;
  const KSPIN_MEDIUM    *Mediums;
  ULONG                 DataRangesCount;
  const PKSDATARANGE    *DataRanges;
  KSPIN_DATAFLOW        DataFlow;
  KSPIN_COMMUNICATION   Communication;
  const GUID            *Category;
  const GUID            *Name;
  union {
    LONGLONG Reserved;
    struct {
      ULONG        ConstrainedDataRangesCount;
      PKSDATARANGE *ConstrainedDataRanges;
    };
  };
} KSPIN_DESCRIPTOR, *PKSPIN_DESCRIPTOR;

Members

InterfacesCount

Specifies the size of the array pointed to by Interfaces.

Interfaces

An array of KSPIN_INTERFACE structures specifying the interfaces supported by this pin type.

MediumsCount

Specifies the number of elements in the array pointed to by Mediums.

Mediums

An array of KSPIN_MEDIUM structures specifying the mediums supported by this pin type.

DataRangesCount

Specifies the size of the array pointed to by DataRanges.

DataRanges

An array of KSDATARANGE structures specifying the data ranges supported by this pin type.

DataFlow

Specifies either KSPIN_DATAFLOW_IN or KSPIN_DATAFLOW_OUT. See KSPROPERTY_PIN_DATAFLOW.

Communication

Specifies KSPIN_COMMUNICATION_NONE, KSPIN_COMMUNICATION_SINK, KSPIN_COMMUNICATION_SOURCE, KSPIN_COMMUNICATION_BOTH or KSPIN_COMMUNICATION_BRIDGE. See KSPROPERTY_PIN_COMMUNICATION for the meaning of each value.

Category

Specifies a pointer to a KS pin category GUID. The KS pin category GUID identifies the general category of functionality that the pin provides. Examples of KS pin category GUIDs are KSNODETYPE_SPEAKER, KSNODETYPE_HEADPHONES, and KSNODETYPE_MICROPHONE, which are all defined in Ksmedia.h. Also see Pin Category Property.

Name

Specifies the GUID of the localized Unicode string name for the pin type, stored in the Registry.

Reserved

Not used. A member of an unnamed union used to force proper alignment on the unnamed structure.

ConstrainedDataRangesCount

Specifies the number of entries in the array pointed to by ConstrainedDataRanges.

ConstrainedDataRanges

Points to an array of KSDATARANGE structures. Indicates the set of data ranges the pin type currently supports, based on the driver's internal state.

Remarks

Drivers typically define one KSPIN_DESCRIPTOR structure for each pin type they support.

Requirements

Requirement Value
Header ks.h (include Ks.h)

See also

KSDATARANGE

KSPIN_MEDIUM

KSPROPERTY_PIN_COMMUNICATION

KSPROPERTY_PIN_DATAFLOW

KSPROPSETID_Pin