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 |