DXGKDDI_VIDPNTARGETMODESET_CREATENEWMODEINFO callback function (d3dkmddi.h)

The pfnCreateNewModeInfo function returns a pointer to a D3DKMDT_VIDPN_TARGET_MODE structure that the display miniport driver populates before calling pfnAddMode.

Syntax

DXGKDDI_VIDPNTARGETMODESET_CREATENEWMODEINFO DxgkddiVidpntargetmodesetCreatenewmodeinfo;

NTSTATUS DxgkddiVidpntargetmodesetCreatenewmodeinfo(
  [in]  IN_CONST_D3DKMDT_HVIDPNTARGETMODESET hVidPnTargetModeSet,
  [out] DEREF_OUT_PPD3DKMDT_VIDPN_TARGET_MODE ppNewVidPnTargetModeInfo
)
{...}

Parameters

[in] hVidPnTargetModeSet

A handle to a VidPN target mode set object. The display miniport driver previously obtained this handle by calling the pfnAcquireTargetModeSet function of the DXGK_VIDPN_INTERFACE interface.

[out] ppNewVidPnTargetModeInfo

A pointer to a variable that receives a pointer to a D3DKMDT_VIDPN_TARGET_MODE structure allocated by the VidPN manager.

Return value

The pfnCreateNewModeInfo function returns one of the following values:

Return code Description
STATUS_SUCCESS The function succeeded.
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET The handle supplied in hVidPnTargetModeSet was invalid.

Remarks

The pfnCreateNewModeInfo function allocates a D3DKMDT_VIDPN_TARGET_MODE structure and sets its Id member to a newly generated identifier.

After you call pfnCreateNewModeInfo to obtain a D3DKMDT_VIDPN_TARGET_MODE structure, you must do one, but not both, of the following:

When you populate a D3DKMDT_VIDPN_TARGET_MODE structure, you have the option of overwriting the Id member that was generated and set by pfnCreateNewModeInfo. However, if you overwrite the Id member of any D3DKMDT_VIDPN_TARGET_MODE structure, you must overwrite the Id members of all the D3DKMDT_VIDPN_TARGET_MODE structures you obtain from pfnCreateNewModeInfo. Unless you have a specific reason for overwriting the Id members (for example, tracking target modes with your own numbering scheme), you should leave them as set by pfnCreateNewModeInfo.

The D3DKMDT_HVIDPNTARGETMODESET data type is defined in D3dkmdt.h.

Requirements

Requirement Value
Minimum supported client Windows Vista
Target Platform Desktop
Header d3dkmddi.h (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

See also

D3DKMDT_VIDPN_TARGET_MODE

pfnAddMode

pfnReleaseModeInfo