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


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

Комментарии

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Целевая платформа Windows
Header d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS2

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocations3Cb