If you are programming for an API or device that just provides you with a screen pointer (e.g. GAPI on PocketPC) you are going to need to manipulate the screen data at the lowest level. You need to build your own sprites and routines for blitting and clipping. This area of the site concentrates on these techniques.
The following notes assume you know how to obtain a pointer to the screen buffer on the relevant device. I assume the pointer will be a BYTE * (unsigned char *). In addition I assume you know the width and height of the screen and the colour format.