You need to call Bitmap.GetHbitmap() to get the native handle to the bitmap.
Then you basically want to do some native interop and call GetDIBits(). It may be better to have your target dll actually call GetDIBits() and just pass the win32 handle, rather than do the interop.
You'll need to call CreateCompatibleDC() on the desktop DC which you get from GetDC(NULL), then CreateCompatibleBitmap() on the DC you just made. Then call GetDIBits().
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…