Freigeben über


Finding a Surface with a Device Context (Windows CE 5.0)

Send Feedback

You can retrieve a pointer to a surface's IDirectDrawSurface5 interface from the device context for the surface by calling the IDirectDraw4::GetSurfaceFromDC method.

This functionality might be very useful for applications or ActiveX® controls, that are commonly given a device context to draw into at run-time, but could benefit by exploiting the functionality exposed by the IDirectDrawSurface5 interface.

A device context might identify memory that is not associated with a DirectDraw object, or the device context might identify a surface for another DirectDraw object entirely. If the device context does not identify a surface that was not created by that DirectDraw object, the method fails, returning DDERR_NOTFOUND.

The following sample code shows what a very simple scenario might look like.

// For this example, the hdc variable is a valid 
// handle to a video memory device context, and the 
// lpDD4 variable is a valid IDirectDraw4 interface pointer.

LPDIRECTDRAWSURFACE4 lpDDS4;
HRESULT hr;
 
hr = lpDD4->GetSurfaceFromDC(hdc, &lpDDS4);
if(SUCCEEDED(hr)) {
// Use the surface interface.
}
else if(DDERR_NOTFOUND == hr) {
OutputDebugString(HDC not from this DirectDraw surface\n);
}
 

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.