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

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

Синтаксис

PFND3DDDI_UNLOCK Pfnd3dddiUnlock;

HRESULT Pfnd3dddiUnlock(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCK *unnamedParam2
)
{...}

Параметры

hDevice

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

unnamedParam2

pData [in]

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

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

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

Код возврата Описание
S_OK Ресурс успешно разблокирован.
E_OUTOFMEMORY Разблокировка не может выделить необходимую память для ее завершения.
E_INVALIDARG Ресурс, который D3DDDIARG_UNLOCK описывает, не был заблокирован предыдущим вызовом функции Lock драйвера.

Комментарии

Эти примечания аналогичны описанию в разделе Примечания на странице справочника по блокировке .

Драйвер отображения пользовательского режима должен вызывать функцию pfnUnlockCb среды выполнения Microsoft Direct3D после вызова Unlock . В этом вызове pfnUnlockCb драйвер отображения пользовательского режима передает дескриптор выделения. Перед вызовом pfnUnlockCb драйвер отображения пользовательского режима должен сначала сопоставить поверхность с соответствующим выделением.

Среда выполнения вызывает функцию Разблокировки драйвера дисплея пользовательского режима, чтобы разблокировать предварительно назначенные поверхности системной памяти. Среда выполнения устанавливает флаг битового поля NotifyOnly в элементе Flags структуры D3DDDIARG_UNLOCK , на которую указывает pData , чтобы отличать вызовы разблокировки , разблокирующие предварительно установленную системную память, от других вызовов разблокировки . Если в пользовательском режиме отображается функция Lock драйвера с именем pfnLockCb для блокировки системного выделения памяти, соответствующего поверхности, она также должна вызвать pfnUnlockCb. Отсутствие вызова pfnUnlockCb останавливает координацию между средой выполнения, драйвером дисплея в пользовательском режиме и драйвером минипорта дисплея.

Требования

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

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

D3DDDIARG_UNLOCK

D3DDDI_DEVICEFUNCS

Блокировка

pfnLockCb

pfnUnlockCb