функция обратного вызова PFND3DDDI_DEALLOCATE2CB (d3dumddi.h)
Функция обратного вызова режима пользователя pfnDeallocate2Cb освобождает выделение для объекта ресурса в режиме ядра, если объект ресурса был создан.
pfnDeallocate2Cb является заменой pfnDeallocateCb с дополнительным элементом Flags . Если для флагов заданы все нули, поведение эквивалентно pfnDeallocateCb.
Синтаксис
PFND3DDDI_DEALLOCATE2CB Pfnd3dddiDeallocate2cb;
HRESULT Pfnd3dddiDeallocate2cb(
HANDLE hDevice,
const D3DDDICB_DEALLOCATE2 *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
unnamedParam2
pData [in]
Указатель на структуру D3DDDICB_DEALLOCATE2 , описывающую освобождаемые ресурсы.
Возвращаемое значение
Код возврата | Описание |
---|---|
S_OK | Память была успешно освобождена. |
E_INVALIDARG | Параметры были проверены и определены как неверные. |
Эта функция также может возвращать другие значения HRESULT.
Комментарии
При получении запроса на уничтожение выделения VidMm предполагает, что по умолчанию команды, помещенные в очередь до запроса на уничтожение, могут получить доступ к уничтожению выделения и откладывает операцию уничтожения до завершения команд в очереди. Если драйвер пользовательского режима (UMD) знает, что ожидающие команды не имеют доступа к уничтожению выделения, он может указать VidMm не ждать завершения ожидающих команд, установив для флага AssumeNotInUse значение TRUE при вызове pfnDeallocate2Cb.
Если приложение или UMD хотели бы убедиться, что выделенная память была освобождена до возврата из вызова pfnDeallocate2Cb (например, чтобы свести к минимуму пиковое использование памяти при повторном создании поверхности), необходимо установить флаг SynchronousDeмешать .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |