PFNKSDEVICEIRPVOID callback function (ks.h)

An AVStream minidriver's IRP handling routine is called when these IRPs are dispatched by the device.

IRP_MN_CANCEL_STOP_DEVICE

IRP_MN_CANCEL_REMOVE_DEVICE

IRP_MN_REMOVE_DEVICE

IRP_MN_STOP_DEVICE

IRP_MN_SURPRISE_REMOVAL

Syntax

PFNKSDEVICEIRPVOID Pfnksdeviceirpvoid;

void Pfnksdeviceirpvoid(
  [in] PKSDEVICE Device,
  [in] PIRP Irp
)
{...}

Parameters

[in] Device

Pointer to the KSDEVICE that dispatched the IRP.

[in] Irp

The IRP issued by Device.

Return value

None

Remarks

IRP Description
IRP_MN_CANCEL_STOP_DEVICE The minidriver specifies this routine's address in the CancelStop member of its KSDEVICE_DISPATCH structure. This routine is optional.
IRP_MN_CANCEL_REMOVE_DEVICE The minidriver specifies this routine's address in the CancelRemove member of its KSDEVICE_DISPATCH structure. This routine is called when an IRP_MN_CANCEL_REMOVE_DEVICE is dispatched by the device. This routine is optional.
IRP_MN_REMOVE_DEVICE The minidriver specifies this routine's address in the MiniRemove member of its KSDEVICE_DISPATCH structure. AVStream calls this routine when an IRP_MN_REMOVE_DEVICE is dispatched by the device. Typically, it will be provided by minidrivers that must free device-associated resources upon device removal. This routine is optional.
IRP_MN_STOP_DEVICE The minidriver specifies this routine's address in the Stop member of its KSDEVICE_DISPATCH structure. This is usually provided by minidrivers that need to detach from previously assigned resources before completing a stop operation. This routine is optional.
IRP_MN_SURPRISE_REMOVAL The minidriver specifies this routine's address in the SurpriseRemoval member of its KSDEVICE_DISPATCH structure. This routine is optional.

Requirements

Requirement Value
Target Platform Desktop
Header ks.h (include Ks.h)

See also

KSDEVICE

KSDEVICE_DISPATCH