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