функция обратного вызова 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 описывает, не был заблокирован предыдущим вызовом функции LockAsync драйвера.

Комментарии

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

Переименование

pfnUnlockCb