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


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

Функция UnlockAsync разблокирует ресурс или поверхность в ресурсе, который ранее заблокирована функция LockAsync.

Синтаксис

PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;

HRESULT Pfnd3dddiUnlockasync(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCKASYNC *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор отображаемого устройства (то есть контекст графики).

unnamedParam2

pData [in]

Указатель на структуру D3DDDIARG_UNLOCKASYNC, описывающую ресурс или поверхность в ресурсе для разблокировки.

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

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

код возврата описание
S_OK Ресурс успешно разблокирован.
E_OUTOFMEMORY UnlockAsync не удалось выделить необходимую память для его завершения.
E_INVALIDARG Ресурс, который D3DDDIARG_UNLOCKASYNC описывается, не был заблокирован предыдущим вызовом функции LockA sync драйвера.

Замечания

Драйвер отображения в пользовательском режиме должен вызывать функцию pfnUnlockCb с соответствующим дескриптором выделения после вызова функции UnlockAsync.

Драйвер отображения в пользовательском режиме при необходимости реализует UnlockAsync; Среда выполнения Microsoft Direct3D вызывает UnlockAsync только в том случае, если драйвер реализует LockAsync, UnlockAsyncи Переименовать функции.

Как и LockAsync, UnlockAsync вызывается в основном потоке приложения, а большинство других вызовов функций драйвера отображения пользовательского режима выполняются в рабочем потоке (на компьютерах с несколькими процессорами).

Если драйвер отображения в пользовательском режиме предоставляет версию DDI 0x0000000B или больше (драйвер возвращает это значение в DriverVersion член структуры D3D10DDIARG_OPENADAPTER в вызове функции openAdapt er драйвера, среда выполнения Direct3D вызовет UnlockAsync повторно. Когда среда выполнения вызывает UnlockAsync повторно, один поток может выполняться внутри UnlockAsync, а другой поток, ссылающийся на то же устройство отображения, выполняется внутри другой функции драйвера отображения в режиме пользователя.

Требования

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

См. также

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

переименовать

pfnUnlockCb