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


функция обратного вызова 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) или событие обнаружения и восстановления времени ожидания (TDR).
Примечание: Если этот код ошибки возвращается, вызывающая функция драйвера (обычно это подпрограмма pfnOfferResources ) должна вернуть этот код ошибки в среду выполнения Direct3D.
E_INVALIDARG Указан недопустимый параметр.

Комментарии

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocationsCb