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) |