DxgkDdiMiracastDestroyContext routine

Destroys an instance of a Miracast device.

Syntax


DXGKDDI_MIRACAST_DESTROY_CONTEXT DxgkDdiMiracastDestroyContext;

VOID* DxgkDdiMiracastDestroyContext(
  _In_ PVOID DriverContext,
  _In_ PVOID MiracastContext
)
{ ... }

Parameters

DriverContext [in]

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.

MiracastContext [in]

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

This routine does not return a value.

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

Minimum supported client

Windows 8.1

Minimum supported server

Windows Server 2012 R2

Target platform

Header

Dispmprt.h (include Dispmprt.h)

IRQL

PASSIVE_LEVEL

See also

DxgkDdiAddDevice
DxgkDdiCommitVidPn
DxgkDdiMiracastCreateContext
DxgkDdiMiracastIoControl
MiracastIoControl
StopMiracastSession

 

 

Send comments about this topic to Microsoft

Show: