KsPinGetCopyRelationships function (ks.h)

The KsPinGetCopyRelationships function returns copy relationship information for a pin that is contained within a pin-centric filter.

Syntax

void KsPinGetCopyRelationships(
  [in]  PKSPIN Pin,
  [out] PKSPIN *CopySource,
  [out] PKSPIN *DelegateBranch
);

Parameters

[in] Pin

A pointer to the KSPIN structure from which you want to acquire copy information.

[out] CopySource

A pointer to a pointer to a KSPIN structure that is the copy source for Pin. If Pin is the copy source, AVStream sets this parameter to NULL.

[out] DelegateBranch

A pointer to a pointer to a KSPIN structure that is the pin from which Pin receives delegated frames. If Pin is the delegator, AVStream sets this parameter to NULL.

Return value

None

Remarks

Filter-centric filters receive similar CopySource and DelegateBranch information when AVStream calls the minidriver's AVStrMiniFilterProcess function with an array of KSPROCESSPIN_INDEXENTRY structures.

The only difference is that KsPinGetCopyRelationships returns pointers to PKSPIN rather than pointers to PKSPROCESSPIN. For more information about the CopySource and DelegateBranch parameters, see AVStream Splitters.

All pins operate independently in the context of a pin-centric filter. As a result, a minidriver that calls KsPinGetCopyRelationships is responsible for ensuring that the appropriate synchronization is performed before call time.

To guarantee safety when calling KsPinGetCopyRelationships, either obtain the control mutex (do not use this mechanism in a processing dispatch) or make sure that the pin does not transition below KSSTATE_PAUSE while calling or using the information obtained. For more information about mutexes, see Mutexes in AVStream.

For more information, see Pin-Centric Processing and Filter-Centric Processing.

Requirements

Requirement Value
Minimum supported client Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.
Target Platform Universal
Header ks.h (include Ks.h)
Library Ks.lib

See also

KSPIN_DESCRIPTOR_EX

KSPROCESSPIN