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 |