Compartilhar via


PFND3DDDI_UNLOCKASYNC função de retorno de chamada (d3dumddi.h)

A função UnlockAsync desbloqueia um recurso ou uma superfície dentro do recurso que a função LockAsync bloqueou anteriormente.

Sintaxe

PFND3DDDI_UNLOCKASYNC Pfnd3dddiUnlockasync;

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

Parâmetros

hDevice

Um identificador para um dispositivo de exibição (ou seja, o contexto gráfico).

unnamedParam2

pData [in]

Um ponteiro para uma estrutura D3DDDIARG_UNLOCKASYNC que descreve o recurso ou a superfície dentro do recurso a ser desbloqueado.

Retornar valor

UnlockAsync retorna um dos seguintes valores:

Código de retorno Descrição
S_OK O recurso foi desbloqueado com êxito.
E_OUTOFMEMORY UnlockAsync não pôde alocar a memória necessária para que ela fosse concluída.
E_INVALIDARG O recurso que D3DDDIARG_UNLOCKASYNC descreve não foi bloqueado por uma chamada anterior para a função LockAsync do driver.

Comentários

Um driver de exibição no modo de usuário deve chamar a função pfnUnlockCb com o identificador de alocação apropriado depois que a função UnlockAsync for chamada.

Opcionalmente, um driver de exibição no modo de usuário implementa UnlockAsync; o runtime do Microsoft Direct3D chamará UnlockAsync somente se o driver implementar as funções LockAsync, UnlockAsync e Rename .

Assim como LockAsync, UnlockAsync é chamado no thread de aplicativo main enquanto a maioria das outras chamadas para as funções de driver de exibição no modo de usuário são feitas em um thread de trabalho (em computadores com vários processadores).

Se um driver de exibição no modo de usuário expor uma versão DDI de 0x0000000B ou superior (o driver retornará esse valor no membro DriverVersion da estrutura D3D10DDIARG_OPENADAPTER em uma chamada para a função OpenAdapter do driver), o runtime do Direct3D chamará UnlockAsync de maneira reentrante. Quando o runtime chama UnlockAsync de maneira reentrante, um thread pode ser executado dentro de UnlockAsync enquanto outro thread que faz referência ao mesmo dispositivo de exibição é executado dentro de outra função de driver de exibição no modo de usuário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

D3DDDIARG_UNLOCKASYNC

D3DDDI_DEVICEFUNCS

LockAsync

Renomear

pfnUnlockCb