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


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

DXGKCB_ACQUIREHANDLEDATA получает ссылку на выделение.

Синтаксис

DXGKCB_ACQUIREHANDLEDATA DxgkcbAcquirehandledata;

VOID * DxgkcbAcquirehandledata(
  [in]  IN_CONST_PDXGKARGCB_GETHANDLEDATA unnamedParam1,
  [out] PDXGKARG_RELEASE_HANDLE unnamedParam2
)
{...}

Параметры

[in] unnamedParam1

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

[out] unnamedParam2

Указатель на дескриптор выпуска, используемый драйвером при освобождении ссылки на выделение.

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

Нет.

Remarks

Дескриптора выделения могут быть уничтожены в любое время приложением или вызовом драйвера пользовательского режима d3DKMTDebaseAllocation на допустимом дескрипторе. Уничтожение выделения включает запрос к драйверу режима ядра на удаление объекта выделения, возвращенного Dxgkrnl во время создания выделения, чтобы KMD мог получить устаревший указатель на освобожденную память. DXGKCB_ACQUIREHANDLEDATA и DXGKCB_RELEASEHANDLEDATA позволяют драйверу хранить ссылку на объект Dxgkrnl и гарантировать, что Dxgkrnl не уничтожает выделение и объекты, связанные с KMD, до тех пор, пока не будет выполнен вызов release.

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

Требования

Требование Значение
Минимальная версия клиента Windows 10 (WDDM 2.0)
Верхняя часть d3dkmddi.h
IRQL <= APC_LEVEL

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

DXGKARGCB_GETHANDLEDATA

DXGKCB_CREATECONTEXTALLOCATION

DXGKCB_RELEASEHANDLEDATA

DXGKRNL_INTERFACE