KS Interfaces

An Interface is a descriptor parameter that defines how a pin communicates. The minidriver indicates which interfaces a pin supports by providing a pointer to an array of KSPIN_INTERFACE structures in the relevant KSPIN_DESCRIPTOR structure. KS then uses this information for determining potential connectivity and graph building.

Like mediums, interfaces are also described as a set and as an element of that set. The KSPIN_INTERFACE structure defines a specific interface within an interface set.

The user-mode client then specifies the type of interface for a connection by using the Interface member of the relevant KSPIN_CONNECT structure. The client passes this KSPIN_CONNECT instance in a call to KsCreatePin, which results in an IRP_MJ_CREATE being sent to the minidriver.