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


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

Вызывается драйвером отображения пользовательского режима, чтобы предложить выделение памяти видео для повторного использования.

Синтаксис

PFND3DDDI_OFFERALLOCATIONS2CB Pfnd3dddiOfferallocations2cb;

HRESULT Pfnd3dddiOfferallocations2cb(
  HANDLE hDevice,
  const D3DDDICB_OFFERALLOCATIONS2 *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст). Среда выполнения Direct3D передала этот дескриптор пользовательского режима в качестве элемента hDevice члена структуры D3DDDIARG_CREATEDEVICE при создании устройства.

unnamedParam2

pData [in]

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

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

Возвращает одно из следующих значений.

код возврата описание
S_OK Выделенные ресурсы были успешно предложены.
Примечание. Если драйверу не нужно вызывать pfnOfferAllocations2Cb, он должен возвращать S_OK.
D3DDDIERR_DEVICEREMOVED Диспетчер памяти видео или драйвер мини-порта не удалось завершить операцию, так как произошло событие остановки plug and Play (PnP) или событие timeout Detection and Recovery (TDR).
Примечание. Если этот код ошибки возвращается, вызывающая функция драйвера (обычно pfnOfferResources подпрограмма) должна вернуть этот код ошибки в среду выполнения Direct3D.
E_INVALIDARG Указан недопустимый параметр.

Замечания

Драйвер отображения в пользовательском режиме вызывает pfnOfferAllocations2Cb, чтобы уведомить подсистему ядра графики Microsoft DirectX, что после завершения любых ранее отправленных операций отрисовки он может предложить память выделения для других процессов, которые будут использоваться.

Когда драйвер вызывает pfnOfferAllocations2Cb для повторного использования, он должен вызывать pfnReclaimAllocations3Cb, прежде чем заблокировать выделение или отправить его для операций отрисовки.

pfnOfferAllocations2Cb функции идентично pfnOfferAllocationsCb, за исключением того, что он принимает флаги в учет через параметр pData.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
заголовка d3dumddi.h (include D3dumddi.h)

См. также

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS2

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocations3Cb