DXGKARGCB_SIGNALEVENT structure (d3dkmddi.h)

DXGKARGCB_SIGNALEVENT contains the arguments used by the DXGKCB_SIGNALEVENT callback function, to signal an event.

Syntax

typedef struct _DXGKARGCB_SIGNALEVENT {
  HANDLE hDxgkProcess;
  HANDLE hEvent;
  union {
    struct {
      UINT CpuEventObject : 1;
#if ...
      UINT Reserved : 31;
#else
      UINT Reserved : 32;
#endif
    };
    UINT Flags;
  };
} DXGKARGCB_SIGNALEVENT;

Members

hDxgkProcess

[in] Handle to the DXGK process object that is passed to DxgkDdiCreateProcess. The process must be created for a virtual machine, where DXGK_CREATEPROCESSFLAGS::VirtualMachineProcess is set in DxgkDdiCreateProcess.

When CpuEventObject is set, hDxgkProcess must be zero.

The driver must synchronize the callback with DxgkDdiDestroyProcess to ensure that the process is not destroyed during the callback.

hEvent

[in] The user-mode event handle that needs to be signaled. The handle is valid in the context of the DXGK process, identified by hDxgkProcess. The user-mode driver on the guest can send the user-mode event handle to the kernel-mode driver via DXGKDDI_ESCAPE or other APIs that allow private driver data.

When CpuEventObject is set, hEvent is equal to the Dxgkrnl CPU event object handle, passed in DXGKDDI_CREATECPUEVENT.

CpuEventObject

[in] When set, indicates the event is a CPU event object. Supported starting in Windows 11 (WDDM 3.0). See Signaling a CPU event from KMD for more information.

Reserved

[in] Reserved; set to zero.

Flags

[in] An alternative way to access the union's flags.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1809 (WDDM 2.5)
Header d3dkmddi.h

See also

DXGKCB_SIGNALEVENT

DXGKDDI_ESCAPE

DxgkDdiCreateProcess

DxgkDdiDestroyProcess