AVStrMiniFilterClose routine

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

Syntax

PFNKSFILTERIRP AVStrMiniFilterClose;

NTSTATUS AVStrMiniFilterClose(
  _In_ PKSFILTER Filter,
  _In_ PIRP      Irp
)
{ ... }

Parameters

  • Filter [in]
    Pointer to the KSFILTER structure that was just closed.

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

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 KSFILTER_DISPATCH structure.

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

This routine is called at IRQL = PASSIVE_LEVEL with the device mutex held. For more information about mutexes, 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)

IRQL

PASSIVE_LEVEL (See Remarks section)

See also

KSFILTER_DISPATCH

IoMarkIrpPending

KsCompletePendingRequest

 

 

Send comments about this topic to Microsoft