IDirectDrawSurface7::P ageLock-Methode (ddraw.h)
Verhindert, dass eine Systemspeicheroberfläche ausgelagert wird, während ein Bitblockübertragungsvorgang (Bitblt), der DMA-Übertragungen (Direct Memory Access) zum oder vom Systemspeicher verwendet, ausgeführt wird.
Syntax
HRESULT PageLock(
[in] DWORD unnamedParam1
);
Parameter
[in] unnamedParam1
Derzeit nicht verwendet und muss auf 0 festgelegt werden.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.
Wenn ein Fehler auftritt, kann die -Methode einen der folgenden Fehlerwerte zurückgeben:
- DDERR_CANTPAGELOCK
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_SURFACELOST
Hinweise
Sie müssen PageLock aufrufen, um die DMA-Unterstützung zu nutzen. Wenn dies nicht der Fall ist, wird der Bitblt mithilfe der Softwareemulation ausgeführt.
Die Leistung des Betriebssystems kann negativ beeinflusst werden, wenn zu viel Arbeitsspeicher gesperrt ist.
Eine Sperranzahl wird für jede Oberfläche beibehalten und jedes Mal erhöht, wenn PageLock für diese Oberfläche aufgerufen wird. Die Anzahl wird verringert, wenn IDirectDrawSurface7::P ageUnlock aufgerufen wird. Wenn die Anzahl 0 erreicht, wird der Arbeitsspeicher entsperrt und kann dann vom Betriebssystem ausgelagert werden.
PageLock funktioniert nur auf Systemspeicheroberflächen. Eine Display-Memory-Oberfläche oder eine emulierte primäre Oberfläche wird nicht gesperrt. Wenn eine Anwendung PageLock auf einer Anzeigespeicheroberfläche aufruft, gibt die Methode nur DD_OK zurück.
IDirectDrawSurface7::P ageLock wurde in der IDirectDraw-Schnittstellenversion nicht implementiert.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | ddraw.h |
Bibliothek | Ddraw.lib |
DLL | Ddraw.dll |