DXGKDDI_MIRACAST_DESTROY_CONTEXT callback function (dispmprt.h)

Destroys an instance of a Miracast device.

Syntax

DXGKDDI_MIRACAST_DESTROY_CONTEXT DxgkddiMiracastDestroyContext;

void DxgkddiMiracastDestroyContext(
  [in] PVOID DriverContext,
  [in] PVOID MiracastContext
)
{...}

Parameters

[in] DriverContext

A handle to a context block that is associated with a display adapter. The display miniport driver's DxgkDdiAddDevice function previously provided this handle to the DirectX graphics kernel subsystem.

[in] MiracastContext

The Miracast device context, supplied by the operating system. This context was previously provided by the driver in a call to the DxgkDdiMiracastCreateContext function.

Return value

None

Remarks

When this function is called, the display miniport driver should release all kernel-mode resources that it allocated when it processed the DxgkDdiMiracastCreateContext function, and it should immediately send a monitor departure hot-plug detection (HPD) awareness value to the operating system.

The operating system guarantees that, after it calls this function, it will not make any more calls to the DxgkDdiMiracastIoControl function.

If a Miracast device is disconnected before the DxgkDdiCommitVidPn function completes, while a present operation is still occurring on this Miracast target, the display miniport driver should not send any data to the user-mode Miracast driver.

If the user-mode StopMiracastSession function takes too long to complete, the operating system calls DxgkDdiMiracastDestroyContext while the user-mode Miracast driver is still running. In this case, the operating system blocks any further calls to the user-mode MiracastIoControl function.

Synchronization

The operating system groups the DxgkDdiMiracastCreateContext, DxgkDdiMiracastDestroyContext, and DxgkDdiMiracastIoControl functions as a Miracast class. The operating system guarantees that these functions follow the second-level synchronization mode as defined in Threading and Synchronization Second Level. These functions can be called when other level 0, 1, or other classes of level 2 functions are being called on another thread context. However, only one of these level 2 Miracast-class functions can be called at a time.

Requirements

Requirement Value
Minimum supported client Windows 8.1
Minimum supported server Windows Server 2012 R2
Target Platform Desktop
Header dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

See also

DxgkDdiAddDevice

DxgkDdiCommitVidPn

DxgkDdiMiracastCreateContext

DxgkDdiMiracastIoControl

MiracastIoControl

StopMiracastSession