Compartilhar via


DXGKCB_ACQUIREHANDLEDATA função de retorno de chamada (d3dkmddi.h)

DxgkcbAcquirehandledata adquire uma referência a uma alocação.

Sintaxe

DXGKCB_ACQUIREHANDLEDATA DxgkcbAcquirehandledata;

VOID * DxgkcbAcquirehandledata(
  [in]  IN_CONST_PDXGKARGCB_GETHANDLEDATA unnamedParam1,
  [out] PDXGKARG_RELEASE_HANDLE unnamedParam2
)
{...}

Parâmetros

[in] unnamedParam1

Ponteiro para uma estrutura de DXGKARGCB_GETHANDLEDATA que descreve um identificador de alocação retornado por DxgkcbCreatecontextallocation.

[out] unnamedParam2

Ponteiro para um identificador de versão do KMD (driver no modo kernel) para gerenciar o tempo de vida da referência à alocação adquirida. O KMD usa esse identificador quando chama DxgkcbReleasehandledata para liberar a referência de alocação.

Valor de retorno

DxgkcbAcquirehandledata retorna um identificador para a alocação à qual o KMD solicitou uma referência. O KMD usa esse identificador para operações subsequentes na alocação ou no recurso.

Observações

Um driver de aplicativo ou modo de usuário pode chamar D3DKMTDestroyAllocation a qualquer momento para destruir um identificador de alocação. A destruição de alocação envolve uma solicitação ao KMD para excluir o objeto de alocação que Dxgkrnl retornado a eles durante a criação da alocação, de modo que o KMD poderia acabar com um ponteiro obsoleto para a memória liberada. DxgkcbAcquirehandledata e DxgkcbReleasehandledata permitir que o driver mantenha uma referência no objeto Dxgkrnl e verifique se Dxgkrnl não destrói a alocação e os objetos associados ao KMD até que a chamada de versão seja feita.

DXGKCB_XXX funções são implementadas por Dxgkrnl. Para usar essa função de retorno de chamada, defina os membros do DXGKARGCB_GETHANDLEDATA e chame DxgkCbAcquireHandleData por meio do DXGKRNL_INTERFACE.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10 (WDDM 2.0)
cabeçalho d3dkmddi.h
IRQL <= APC_LEVEL

Consulte também

DXGKARGCB_GETHANDLEDATA

DxgkcbCreatecontextallocation

DxgkcbReleasehandledata

DXGKRNL_INTERFACE