Freigeben über


DXGKDDI_DESTROYALLOCATION Rückruffunktion (d3dkmddi.h)

Die DxgkDdiDestroyAllocation Funktion gibt Zuordnungen frei.

Syntax

DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;

NTSTATUS DxgkddiDestroyallocation(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}

Parameter

[in] hAdapter

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Der Display-Miniporttreiber, der zuvor dieses Handle für das Microsoft DirectX-Grafikkernsubsystem im MiniportDeviceContext Ausgabeparameter des DxgkDdiAddDevice--Funktion bereitgestellt hat.

[in] pDestroyAllocation

Ein Zeiger auf eine DXGKARG_DESTROYALLOCATION Struktur, die Informationen zum Freigeben von Zuordnungen enthält.

Rückgabewert

DxgkDdiDestroyAllocation gibt STATUS_SUCCESS zurück oder ein entsprechendes Fehlerergebnis, wenn die Zuordnungen nicht erfolgreich freigegeben werden.

Bemerkungen

Wenn der Anzeigetreiber im Benutzermodus die pfnDeallocateCb--Funktion aufruft, ruft das DirectX-Grafik-Kernelsubsystem (teil von Dxgkrnl.sys) die DxgkDdiDestroyAllocation-Funktion des Anzeigeminiporttreibers auf, um die Zuordnungen freizugeben. Der Miniporttreiber sollte seine internen Datenstrukturen und Verweise auf die Zuordnungen bereinigen. Die Microsoft Direct3D-Laufzeit initiiert Aufrufe an den Videospeicher-Manager (auch Teil von Dxgkrnl.sys), der dann den GPU-Scheduler (der auch Teil von Dxgkrnl.sysist) aufruft, um zu synchronisieren, bevor der Videospeicher tatsächlich freigegeben wird.

Der Anzeige-Miniporttreiber kann die gesamte Ressource sowie Zuordnungen freigeben. Um zu ermitteln, ob die Ressource freigegeben werden soll, kann der Anzeigeminiporttreiber überprüfen, ob das flag DestroyResource im Flags Member der DXGKARG_DESTROYALLOCATION Struktur festgelegt ist, auf die der pDestroyAllocation-Parameter verweist. Um die Ressource freizugeben, muss der Anzeigeminiporttreiber den Handle bereinigen, den das hResource-element von DXGKARG_DESTROYALLOCATION angibt. Wenn der Anzeigeminiporttreiber die Ressource nicht freigibt, kann der Treiber den Wert in hResource- bei Bedarf ändern.

DxgkDdiDestroyAllocation- sollte seitenfähig gemacht werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- d3dkmddi.h
IRQL- PASSIVE_LEVEL

Siehe auch

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb