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