AVStrMiniPinClose routine

An AVStream minidriver's AVStrMiniPinClose routine is called when a pin is closed. It usually is provided by minidrivers that want to free the context and resources associated with the pin.

Syntax

PFNKSPINIRP AVStrMiniPinClose;

NTSTATUS AVStrMiniPinClose(
  _In_ PKSPIN Pin,
  _In_ PIRP   Irp
)
{ ... }

Parameters

  • Pin [in]
    Pointer to the KSPIN that was just closed.

  • Irp [in]
    Pointer to the IRP_MJ_CLOSE for Pin.

Return value

Return STATUS_SUCCESS or STATUS_PENDING. If a minidriver returns STATUS_PENDING, AVStream will not complete the IRP_MJ_CLOSE immediately. Before returning STATUS_PENDING, however, the minidriver must call IoMarkIrpPending. Once the processing of the close is complete, the minidriver must set the IRP's status code and then call KsCompletePendingRequest.

Remarks

The minidriver specifies this routine's address in the Close member of its KSPIN_DISPATCH structure.

At the point at which the routine is called, any registered events on the pin have been freed, but the object is otherwise intact.

The filter control mutex is held while in this function. For more information about mutexes, please see Mutexes in AVStream.

This routine is optional.

Requirements

Target platform

Desktop

Version

Available in Microsoft Windows XP and later operating systems and DirectX 8.0 and later DirectX versions.

Header

Ks.h (include Ks.h)

See also

KSPIN_DISPATCH

IoMarkIrpPending

KsCompletePendingRequest

 

 

Send comments about this topic to Microsoft