функция обратного вызова 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 |