Поделиться через


функция обратного вызова DXGKDDI_VIDPN_CREATENEWSOURCEMODESET (d3dkmddi.h)

Функция pfnCreateNewSourceModeSet создает новый объект набора исходного режима в указанном объекте VidPN.

Синтаксис

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
)
{...}

Параметры

[in] hVidPn

Дескриптор объекта VidPN. Диспетчер VidPN ранее предоставлял этот дескриптор драйверу мини-порта дисплея, вызвав DxgkDdiEnumVidPnCofuncModality, DxgkDdiIsSupportedVidPn или DxgkDdiRecommendFunctionalVidPn.

[in] VidPnSourceId

Целое число, идентифицирующее один из источников видео, связанных с объектом VidPN.

[out] phNewVidPnSourceModeSet

Указатель на переменную, которая получает дескриптор созданного объекта набора исходного режима.

[out] ppVidPnSourceModeSetInterface

Указатель на переменную, получающую указатель на структуру DXGK_VIDPNSOURCEMODESET_INTERFACE . Структура содержит указатели на функции, которые драйвер мини-порта отображения может вызывать для проверки и изменения объекта набора исходного режима.

Возвращаемое значение

Функция pfnCreateNewSourceModeSet возвращает одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS Функция выполнена успешно.
STATUS_GRAPHICS_INVALID_VIDPN Дескриптор, предоставленный в hVidPn, был недопустимым.
STATUS_NO_MEMORY Диспетчеру VidPN не удалось выделить память, необходимую для создания нового объекта набора исходного режима.

Комментарии

Чтобы назначить новый исходный режим, заданный для определенного источника в VidPN, выполните следующие действия.

  1. Вызовите pfnCreateNewSourceModeSet , чтобы получить дескриптор нового объекта набора исходного режима. Этот объект набора исходного режима принадлежит определенному объекту VidPN, который вы указали.
  2. Используйте функции интерфейса DXGK_VIDPNSOURCEMODESET_INTERFACE для добавления режимов в объект набора исходного режима.
  3. Вызовите pfnAssignSourceModeSet , чтобы назначить новый режим источника, заданный для определенного источника.
Если вы получили дескриптор, вызвав pfnCreateNewSourceModeSet , а затем передайте этот дескриптор в pfnAssignSourceModeSet, вам не нужно освобождать дескриптор путем вызова pfnReleaseSourceModeSet.

Если вы получили дескриптор, вызвав pfnCreateNewSourceModeSet , а затем решили не назначать новый исходный режим для источника, необходимо освободить только что полученный дескриптор, вызвав pfnReleaseSourceModeSet.

Время существования структуры DXGK_VIDPNSOURCEMODESET_INTERFACE, возвращаемой в ppVidPnSourceModeSetInterface , принадлежит операционной системе. Используя эту схему владения, операционная система может переключиться на более новые реализации во время выполнения, не нарушая работу клиентов интерфейса.

Типы данных D3DKMDT_HVIDPN и D3DKMDT_HVIDPNSOURCEMODESET определены в D3dkmdt.h.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)
IRQL PASSIVE_LEVEL

См. также раздел

Интерфейс установки режима источника VidPN

pfnAssignSourceModeSet

pfnReleaseSourceModeSet