Freigeben über


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- [in, out]

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 wurde zurückgesetzt.
STATUS_INVALID_PARAMETER Parameter wurden überprüft und ermittelt, dass sie falsch sind.
STATUS_GRAPHICS_ALLOCATION_BUSY Die Zuordnung wurde zurzeit verwendet und konnte nicht gesperrt werden.
STATUS_GRAPHICS_TOO_MANY_REFERENCES Zu viele Verweise standen bei der Zuordnung aus.
STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION Die Zuordnung konnte nicht gesperrt werden, weil eine Verzweiflungsblende nicht verfügbar war und weil die Zuordnung angeheftet und nicht verworfen werden konnte.

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

Bemerkungen

Die D3DKMTLock--Funktion wird aufgerufen, um auf Systemspeicherzuweisungen und Videospeicherzuweisungen 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
mindestens unterstützte Client- Windows Vista
Zielplattform- Universal
Header- d3dkmthk.h (einschließlich D3dkmthk.h)
Library Gdi32.lib
DLL- Gdi32.dll

Siehe auch

D3DKMT_LOCK