D3DKMTLock-Funktion (d3dkmthk.h)

Die D3DKMTLock-Funktion sperrt eine gesamte Zuordnung oder bestimmte Seiten innerhalb einer Zuordnung.

Syntax

NTSTATUS D3DKMTLock(
  D3DKMT_LOCK *unnamedParam1
);

Parameter

unnamedParam1

pData [ein, aus]

Ein Zeiger auf eine D3DKMT_LOCK-Struktur , die Parameter zum Sperren einer Zuordnung beschreibt.

Rückgabewert

D3DKMTLock gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Die Zuordnung wurde erfolgreich gesperrt.
STATUS_DEVICE_REMOVED Der Grafikkarte wurde beendet oder das Anzeigegerät zurückgesetzt.
STATUS_INVALID_PARAMETER Parameter wurden überprüft und als falsch ermittelt.
STATUS_GRAPHICS_ALLOCATION_BUSY Die Zuordnung wurde derzeit verwendet und konnte nicht gesperrt werden.
STATUS_GRAPHICS_TOO_MANY_REFERENCES Für die Zuordnung standen zu viele Verweise aus.
STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Die Zuordnung konnte nicht gesperrt werden, da eine Entwizzling-Blende nicht verfügbar war und die Zuordnung angeheftet ist und nicht entfernt werden konnte.

Diese Funktion kann auch andere NTSTATUS-Werte zurückgeben.

Hinweise

Die D3DKMTLock-Funktion wird aufgerufen, um auf Systemspeicherbelegungen und Videospeicherbelegungen zuzugreifen.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein OpenGL ICD D3DKMTLock verwenden kann, um eine gesamte Zuordnung zu sperren.

VOID* LockEntireAllocation(D3DKMT_HANDLE hDevice, D3DKMT_HANDLE hAllocation, UINT PrivateData)
{
    D3DKMT_LOCK LockAllocation = {0};

    LockAllocation.hDevice = hDevice;
    LockAllocation.hAllocation = LockData.hAllocation;
    LockAllocation.Flags.LockEntire = TRUE;
    LockAllocation.PrivateDriverData = PrivateData;
    LockAllocation.NumPages = 0;
    LockAllocation.pPages = NULL;
 
    if (NT_SUCCESS((*pfnKTLock)(&LockAllocation))) {
        return LockAllocation.pData;
    }
    return NULL;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Zielplattform Universell
Header d3dkmthk.h (einschließlich D3dkmthk.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

D3DKMT_LOCK