DXGKDDI_VIDPN_CREATENEWSOURCEMODESET callback function (d3dkmddi.h)
The pfnCreateNewSourceModeSet function creates a new source mode set object within a specified VidPN object.
Syntax
DXGKDDI_VIDPN_CREATENEWSOURCEMODESET DxgkddiVidpnCreatenewsourcemodeset;
NTSTATUS DxgkddiVidpnCreatenewsourcemodeset(
[in] IN_CONST_D3DKMDT_HVIDPN hVidPn,
[in] IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
[out] OUT_PD3DKMDT_HVIDPNSOURCEMODESET phNewVidPnSourceModeSet,
[out] DEREF_OUT_CONST_PPDXGK_VIDPNSOURCEMODESET_INTERFACE ppVidPnSourceModeSetInterface
)
{...}
Parameters
[in] hVidPn
A handle to a VidPN object. The VidPN manager previously provided this handle to the display miniport driver by calling DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn, or DxgkDdiRecommendFunctionalVidPn.
[in] VidPnSourceId
An integer that identifies one of the video present sources associated with the VidPN object.
[out] phNewVidPnSourceModeSet
A pointer to a variable that receives a handle to the newly created source mode set object.
[out] ppVidPnSourceModeSetInterface
A pointer to a variable that receives a pointer to a DXGK_VIDPNSOURCEMODESET_INTERFACE structure. The structure contains pointers to functions that the display miniport driver can call to inspect and alter the source mode set object.
Return value
The pfnCreateNewSourceModeSet function returns one of the following values:
Return code | Description |
---|---|
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 source mode set object. |
Remarks
To assign a new source mode set to a particular source in a VidPN, perform the following steps:
- Call pfnCreateNewSourceModeSet to get a handle to a new source mode set object. That source mode set object belongs to a particular VidPN object that you specify.
- Use the functions of the DXGK_VIDPNSOURCEMODESET_INTERFACE interface to add modes to the source mode set object.
- Call pfnAssignSourceModeSet to assign the new source mode set to a particular source.
If you obtain a handle by calling pfnCreateNewSourceModeSet and then you decide not to assign the new source mode set to a source, you must release the newly obtained handle by calling pfnReleaseSourceModeSet.
The lifetime of the DXGK_VIDPNSOURCEMODESET_INTERFACE structure returned in ppVidPnSourceModeSetInterface 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_HVIDPNSOURCEMODESET data types are defined in D3dkmdt.h.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista |
Target Platform | Desktop |
Header | d3dkmddi.h (include D3dkmddi.h) |
IRQL | PASSIVE_LEVEL |