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

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

Синтаксис

DXGKDDI_VIDPN_CREATENEWTARGETMODESET DxgkddiVidpnCreatenewtargetmodeset;

NTSTATUS DxgkddiVidpnCreatenewtargetmodeset(
  [in]  IN_CONST_D3DKMDT_HVIDPN hVidPn,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [out] OUT_PD3DKMDT_HVIDPNTARGETMODESET phNewVidPnTargetModeSet,
  [out] DEREF_OUT_CONST_PPDXGK_VIDPNTARGETMODESET_INTERFACE ppVidPnTargetModeSetInterace
)
{...}

Параметры

[in] hVidPn

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

[in] VidPnTargetId

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

[out] phNewVidPnTargetModeSet

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

[out] ppVidPnTargetModeSetInterace

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

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

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

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

Комментарии

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

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

Если вы получили дескриптор, вызвав pfnCreateNewTargetModeSet , а затем решили не назначать новый целевой режим, заданный целевому объекту, необходимо освободить только что полученный дескриптор, вызвав pfnReleaseTargetModeSet.

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

Типы данных D3DKMDT_HVIDPN и D3DKMDT_HVIDPNTARGETMODESET определяются в D3dkmdt.h.

Требования

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

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

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

pfnAssignTargetModeSet

pfnReleaseTargetModeSet