IDirectDrawSurface7::SetClipper-Methode (ddraw.h)
Fügt ein Clipperobjekt an diese Oberfläche an oder löscht es aus.
Syntax
HRESULT SetClipper(
[in] LPDIRECTDRAWCLIPPER unnamedParam1
);
Parameter
[in] unnamedParam1
Ein Zeiger auf die IDirectDrawClipper-Schnittstelle für das DirectDrawClipper-Objekt, das an das DirectDrawSurface-Objekt angefügt werden soll. Wenn Sie diesen Parameter auf NULL festlegen, wird das aktuelle DirectDrawClipper-Objekt getrennt.
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_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDSURFACETYPE
- DDERR_NOCLIPPERATTACHED
Hinweise
Wenn Sie einen Clipper zum ersten Mal auf eine Oberfläche festlegen, erhöht SetClipper die Referenzanzahl des Clippers. Nachfolgende Aufrufe wirken sich nicht auf die Referenzanzahl des Clippers aus. Wenn Sie NULL als lpDDClipper-Parameter übergeben, wird der Clipper von der Oberfläche entfernt, und die Verweisanzahl des Clippers wird dekrementiert. Wenn Sie den Clipper nicht löschen, gibt die Oberfläche ihren Verweis auf den Clipper automatisch frei, wenn die Oberfläche selbst freigegeben wird. Gemäß COM-Regeln muss Ihre Anwendung alle Verweise freigeben, die sie für den Clipper enthält, wenn das Objekt nicht mehr benötigt wird.
SetClipper wird hauptsächlich von Oberflächen verwendet, die auf der primären Oberfläche überlagert oder bitblttiert werden. Es kann jedoch auf jeder Oberfläche verwendet werden. Nachdem ein DirectDrawClipper-Objekt angefügt und eine Clipliste zugeordnet wurde, wird das DirectDrawClipper-Objekt für die Vorgänge IDirectDrawSurface7::Blt, IDirectDrawSurface7::BltBatch und IDirectDrawSurface7::UpdateOverlay verwendet, die das übergeordnete DirectDrawSurface-Objekt betreffen. SetClipper kann auch das aktuelle DirectDrawClipper-Objekt eines DirectDrawSurface-Objekts trennen.
Anforderungen
Zielplattform | Windows |
Kopfzeile | ddraw.h |
Bibliothek | Ddraw.lib |
DLL | Ddraw.dll |