DXGKCB_ACQUIREHANDLEDATA funzione di callback (d3dkmddi.h)

DXGKCB_ACQUIREHANDLEDATA 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 DXGKARGCB_GETHANDLEDATA che descrive un handle di allocazione restituito da DXGKCB_CREATECONTEXTALLOCATION.

[out] unnamedParam2

Puntatore a un handle di versione da usare per il driver durante il rilascio del riferimento di allocazione.

Valore restituito

No.

Osservazioni

Gli handle di allocazione possono essere eliminati definitivamente in qualsiasi momento da un'applicazione o da una chiamata driver in modalità utente a D3DKMTDestroyAllocation su un handle valido. La distruzione dell'allocazione comporta una richiesta al driver in modalità kernel per eliminare l'oggetto di allocazione restituito da Dxgkrnl durante la creazione dell'allocazione, quindi il KMD potrebbe finire con un puntatore non aggiornato per liberare memoria. DXGKCB_ACQUIREHANDLEDATA e DXGKCB_RELEASEHANDLEDATA 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.

Requisiti

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

Vedi anche

DXGKARGCB_GETHANDLEDATA

DXGKCB_CREATECONTEXTALLOCATION

DXGKCB_RELEASEHANDLEDATA

DXGKRNL_INTERFACE