DXGK_VIDPN_INTERFACE::pfnCreateNewTargetModeSet routine

The pfnCreateNewTargetModeSet function creates a new target mode set object within a specified VidPN object.

Syntax


DXGKDDI_VIDPN_CREATENEWTARGETMODESET pfnCreateNewTargetModeSet;

NTSTATUS APIENTRY pfnCreateNewTargetModeSet(
  _In_   const D3DKMDT_HVIDPN hVidPn,
  _In_   const D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  _Out_  D3DKMDT_HVIDPNTARGETMODESET *phNewVidPnTargetModeSet,
  _Out_  const DXGK_VIDPNTARGETMODESET_INTERFACE **ppVidPnTargetModeSetInterace
)
{ ... }

Parameters

hVidPn [in]

[in] A handle to a VidPN object. The VidPN manager previously provided this handle to the display miniport driver by calling DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn, or DxgkDdiRecommendFunctionalVidPn.

VidPnTargetId [in]

[in] An integer that identifies one of the video present targets associated with the VidPN object.

phNewVidPnTargetModeSet [out]

[out] A pointer to a variable that receives a handle to the newly created target mode set object.

ppVidPnTargetModeSetInterace [out]

[out] A pointer to a variable that receives a pointer to a DXGK_VIDPNTARGETMODESET_INTERFACE structure. The structure contains pointers to functions that the display miniport driver can call to inspect and alter the target mode set object.

Return value

The pfnCreateNewTargetModeSet function returns one of the following values:

Return codeDescription
STATUS_SUCCESS

The function succeeded.

STATUS_GRAPHICS_INVALID_VIDPN

The handle supplied in hVidPn was invalid.

STATUS_NO_MEMORY

The VidPN manager was unable to allocate the memory required to create the new target mode set object.

 

Remarks

To assign a new target mode set to a particular target in a VidPN implementation, perform the following steps:

  1. Call pfnCreateNewTargetModeSet to get a handle to a new target mode set object. That target mode set object belongs to a particular VidPN object that you specify.

  2. Use the functions of the DXGK_VIDPNTARGETMODESET_INTERFACE structure to add modes to the target mode set object.

  3. Call pfnAssignTargetModeSet to assign the new target mode set to a particular target.

If you obtain a handle by calling pfnCreateNewTargetModeSet and then pass that handle to pfnAssignTargetModeSet, you do not need to release the handle by calling pfnReleaseTargetModeSet.

If you obtain a handle by calling pfnCreateNewTargetModeSet and then you decide not to assign the new target mode set to a target, you must release the newly obtained handle by calling pfnReleaseTargetModeSet.

The lifetime of the DXGK_VIDPNTARGETEMODESET_INTERFACE structure returned in ppVidPnTargetModeSetInterface is owned by the operating system. Using this ownership scheme, the operating system can switch to newer implementations at run time without breaking clients of the interface.

The D3DKMDT_HVIDPN and D3DKMDT_HVIDPNTARGETMODESET data types are defined in D3dkmdt.h.

Requirements

Version

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

Header

D3dkmddi.h (include D3dkmddi.h)

IRQL

PASSIVE_LEVEL

See also

VidPN Target Mode Set Interface
pfnAssignTargetModeSet
pfnReleaseTargetModeSet

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft