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


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

DXGKCB_ENUMHANDLECHILDREN перечисляет выделения, связанные с данным ресурсом, по одному выделению за раз.

Синтаксис

DXGKCB_ENUMHANDLECHILDREN DxgkcbEnumhandlechildren;

D3DKMT_HANDLE DxgkcbEnumhandlechildren(
  [in] IN_CONST_PDXGKARGCB_ENUMHANDLECHILDREN unnamedParam1
)
{...}

Параметры

[in] unnamedParam1

Указатель на структуру DXGKARGCB_ENUMHANDLECHILDREN , описывающую родительский ресурс и индекс извлекаемого дочернего выделения.

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

DXGKCB_ENUMHANDLECHILDREN возвращает дескриптор Dxgkrnl для дочернего выделения, описываемого pData . Чтобы получить данные для дескриптора для конкретного устройства, драйвер мини-порта дисплея должен вызвать функцию DXGKCB_GETHANDLEDATA .

DXGKCB_ENUMHANDLECHILDREN возвращает дескриптор NULL, если значение индекса выделения дочерних элементов, указанное в элементе Indexструктуры DXGKARGCB_ENUMHANDLECHILDREN , превышает количество выделений, связанных с родительским ресурсом. Если DXGKCB_ENUMHANDLECHILDREN неожиданно возвращает дескриптор NULL, подсистеме ядра графики DirectX не удалось разрешить дескриптор в родительский ресурс по следующим причинам:

  • Недопустимый дескриптор был получен от драйвера отображения пользовательского режима из-за вредоносной атаки или другой ошибки.
  • При выделении были проблемы со временем существования.

Если дескриптор NULL возвращается непредвиденно, драйвер минипорта дисплея должен завершиться сбоем выполняемой в данный момент функции DDI с STATUS_INVALID_HANDLE.

Комментарии

Драйвер минипорта дисплея может вызывать DXGKCB_ENUMHANDLECHILDREN в цикле для перечисления всех выделений, связанных с ресурсом.

Индексы дескриптора выделения отсчитываются от нуля. Если драйвер минипорта отображения задает значение pData-Index> равным 0, DXGKCB_ENUMHANDLECHILDREN возвращает первый дескриптор выделения; если параметр Index имеет значение 1, DXGKCB_ENUMHANDLECHILDREN возвращает второй дескриптор выделения и т. д. Если значение Index больше числа выделений, связанных с ресурсом, DXGKCB_ENUMHANDLECHILDREN возвращает значение NULL.

DXGKCB_XXX функции реализуются dxgkrnl. Чтобы использовать эту функцию обратного вызова, задайте соответствующие члены DXGKARGCB_ENUMHANDLECHILDREN , а затем вызовите DxgkCbEnumHandleChildren через DXGKRNL_INTERFACE.

Требования

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

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

DXGKARGCB_ENUMHANDLECHILDREN

DXGKCB_GETHANDLEDATA

DXGKRNL_INTERFACE