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


функция обратного вызова 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 (include D3dkmddi.h)
IRQL PASSIVE_LEVEL

См. также

целевого режима VidPN

pfnAssignTargetModeSet

pfnReleaseTargetModeSet