PFNKSSTREAMPOINTER callback function (ks.h)

AVStream calls a minidriver's AVStrMiniCancelCallback routine when the IRP that is associated with a cloned stream pointer is canceled. This routine is optional.

Syntax

PFNKSSTREAMPOINTER Pfnksstreampointer;

void Pfnksstreampointer(
  [in] PKSSTREAM_POINTER StreamPointer
)
{...}

Parameters

[in] StreamPointer

A pointer to the clone KSSTREAM_POINTER that is associated with the IRP that was canceled. StreamPointer was created by a call to KsStreamPointerClone.

Return value

None

Remarks

The minidriver specifies this routine's address in the CancelCallback parameter of KsStreamPointerClone.

In AVStrMiniCancelCallback, the minidriver should set all references to the clone pointer to NULL.

In addition, the minidriver should remove any context information that is related to the clone pointer, and notify hardware about the cancellation.

Finally, the minidriver must call KsStreamPointerDelete to delete the clone and the context associated with it. If the minidriver does not delete the clone, the IRP will retain a reference count and not complete, possibly causing related applications to crash.

AVStrMiniCancelCallback is called with the queue's spin lock held, hence at DISPATCH_LEVEL. Accordingly, the callback routine cannot perform queue manipulation or call functions that acquire a mutex.

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 Desktop
Header ks.h (include Ks.h)

See also

KSSTREAM_POINTER

KsStreamPointerClone

KsStreamPointerDelete