AVStrMiniPinCreate routine

An AVStream minidriver's AVStrMiniPinCreate routine is called when a pin is created. Typically, this routine is used by minidrivers that want to initialize the context and resources associated with the pin.

Syntax


PFNKSPINIRP AVStrMiniPinCreate;

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

Parameters

Pin [in]

Pointer to the KSPIN that was just created.

Irp [in]

Pointer to the IRP_MJ_CREATE for Pin.

Return value

If the routine succeeds, the create operation is guaranteed to succeed. Return STATUS_SUCCESS or STATUS_PENDING. If a minidriver returns STATUS_PENDING, AVStream will not complete the IRP_MJ_CREATE immediately. Before returning STATUS_PENDING, however, the minidriver must call IoMarkIrpPending. Once the processing of the create 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 Create member of its KSPIN_DISPATCH structure.

This routine is called when a pin is created. At the point at which this routine is called, the file object has an associated context, and the KS object header has been allocated. Typically, this function will be provided by minidrivers that want to initialize the context and resources associated with the pin.

The filter control mutex is held while in this function. The function will be called at IRQL = PASSIVE_LEVEL.

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

KSPIN_DISPATCH
IoMarkIrpPending
KsCompletePendingRequest

 

 

Send comments about this topic to Microsoft

Show: