функция обратного вызова 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) |