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


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

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

Синтаксис

PFND3DDDI_OFFERALLOCATIONSCB Pfnd3dddiOfferallocationscb;

HRESULT Pfnd3dddiOfferallocationscb(
  HANDLE hDevice,
  const D3DDDICB_OFFERALLOCATIONS *unnamedParam2
)
{...}

Параметры

hDevice

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

unnamedParam2

pData [in]

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

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

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

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

Замечания

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

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

Требования

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

См. также

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocationsCb