DXGKDDI_PROTECTED_CALLBACK callback function

The DxgkProtectedCallback callback routine is implemented by the display miniport driver and is called by DxgkCbExcludeAdapterAccess during a protected state when all access to the display adapter is prevented.

Syntax


DXGKDDI_PROTECTED_CALLBACK DxgkProtectedCallback;

VOID DxgkProtectedCallback(
  _In_ const PVOID    MiniportDeviceContext,
  _In_       PVOID    ProtectedCallbackContext,
  _In_       NTSTATUS ProtectionStatus
)
{ ... }

Parameters

MiniportDeviceContext [in]

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

ProtectedCallbackContext [in]

A pointer to driver-defined information that was specified in a previous call to DxgkCbExcludeAdapterAccess.

ProtectionStatus [in]

Status of the display adapter's protected state. If STATUS_SUCCESS, the adapter was successfully protected from access. A failure status code indicates that the adapter is not protected.

Return value

None

Remarks

DxgkProtectedCallback must be called only when all access to the display adapter has been halted, as indicated by the status parameter ProtectionStatus.

The driver must ensure that following conditions are met during the callback routine:

  • All interrupts on the device are disabled, and any remaining pending interrupts are handled, including any DPCs that may have been queued on any CPU but not yet serviced.

  • All write-combined memory and any other cache-related states have been flushed.

  • Any ACPI or BIOS/SMI events that occur do not access the hardware.

  • Coherency is achieved between all adapters in a linked-adapter state configuration.

  • The adapter, including its registers and display mode, is maintained in the proper state to handle the DMA buffer that occurs on the return from the DxgkProtectedCallback routine. The driver should not change the visible state or capabilities of any application.

Requirements

Target platform

Version

Available in Windows Vista and later versions of the Windows operating systems.

Header

Dispmprt.h (include Dispmprt.h)

IRQL

PASSIVE_LEVEL

See also

DxgkCbExcludeAdapterAccess

 

 

Send comments about this topic to Microsoft

Show: