Condividi tramite


DXGKCB_ACQUIREHANDLEDATA funzione di callback (d3dkmddi.h)

DxgkcbAcquirehandledata acquisisce un riferimento a un'allocazione.

Sintassi

DXGKCB_ACQUIREHANDLEDATA DxgkcbAcquirehandledata;

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

Parametri

[in] unnamedParam1

Puntatore a una struttura di DXGKARGCB_GETHANDLEDATA che descrive un handle di allocazione restituito da DxgkcbCreatecontextallocation.

[out] unnamedParam2

Puntatore a un handle di rilascio per il driver in modalità kernel (KMD) per gestire la durata del riferimento all'allocazione acquisita. Il KMD usa questo handle quando chiama DxgkcbReleasehandledata per rilasciare il riferimento all'allocazione.

Valore restituito

DxgkcbAcquirehandledata restituisce un handle all'allocazione a cui il KMD ha richiesto un riferimento. Il KmD usa questo handle per le operazioni successive sull'allocazione o sulla risorsa.

Osservazioni

Un driver in modalità utente o applicazione può chiamare D3DKMTDestroyAllocation in qualsiasi momento per eliminare definitivamente un handle di allocazione. La distruzione dell'allocazione comporta una richiesta al KMD di eliminare l'oggetto di allocazione che Dxgkrnl restituito durante la creazione dell'allocazione, quindi il KMD potrebbe finire con un puntatore non aggiornato per liberare memoria. DxgkcbAcquirehandledata e DxgkcbReleasehandledata consentire al driver di contenere un riferimento sull'oggetto Dxgkrnl e assicurarsi che Dxgkrnl non distrugga l'allocazione e gli oggetti associati al KMD fino a quando non viene effettuata la chiamata di rilascio.

DXGKCB_XXX funzioni vengono implementate da Dxgkrnl. Per usare questa funzione di callback, impostare i membri di DXGKARGCB_GETHANDLEDATA e quindi chiamare DxgkCbAcquireHandleData tramite il DXGKRNL_INTERFACE.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10 (WDDM 2.0)
intestazione d3dkmddi.h
IRQL <= APC_LEVEL

Vedere anche

DXGKARGCB_GETHANDLEDATA

DxgkcbCreatecontextallocation

DxgkcbReleasehandledata

DXGKRNL_INTERFACE