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 |