// ks.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The KSPIN_DESCRIPTOR structure describes the basic KSPROPSETID_Pin properties of a pin type.
InterfacesCountSpecifies the size of the array pointed to by Interfaces.
InterfacesAn array of KSPIN_INTERFACE structures specifying the interfaces supported by this pin type.
MediumsCountSpecifies the number of elements in the array pointed to by Mediums.
MediumsAn array of KSPIN_MEDIUM structures specifying the mediums supported by this pin type.
DataRangesCountSpecifies the size of the array pointed to by DataRanges.
DataRangesAn array of KSDATARANGE structures specifying the data ranges supported by this pin type.
DataFlowSpecifies either KSPIN_DATAFLOW_IN or KSPIN_DATAFLOW_OUT. See KSPROPERTY_PIN_DATAFLOW.
CommunicationSpecifies 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.
CategorySpecifies 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.
NameSpecifies the GUID of the localized Unicode string name for the pin type, stored in the Registry.
ReservedNot used. A member of an unnamed union used to force proper alignment on the unnamed structure.
ConstrainedDataRangesCountSpecifies the number of entries in the array pointed to by ConstrainedDataRanges.
ConstrainedDataRangesPoints to an array of KSDATARANGE structures. Indicates the set of data ranges the pin type currently supports, based on the driver's internal state.
Drivers typically define one KSPIN_DESCRIPTOR structure for each pin type they support.