I'm trying lo load an image from the filesystem into a IBitmap. The image seems to load properly, but when I try to get the base address where the image is store (with getAddress() ), it always resturn 0x00000000.
Here is the code (simplified and without error handling):

// load the image
    ngi::IBitmap* mBitmap = NULL;                     
    ngi::IImageConverter* mImageConverter = NULL;    
    ngi::IGraphicsContext* mGraphicsContext = NULL;
    const unsigned short *BITMAP_FILE = L"c:\\Data\\Images\\foto.jpg";
    int a = ngi::CRuntime::Initialize(); 
    a = ngi::CRuntime::CreateInstance( mGraphicsContext );
    a = ngi::CRuntime::CreateInstance( mBitmap );
    a = ngi::CRuntime::CreateInstance( mImageConverter );

   mGraphicsContext->SetGraphicsDevice( *mBitmap );

    if( (a = mImageConverter->Load( *mBitmap, BITMAP_FILE )) != ngi::OK )
    } else {
	printf("Image loaded");
    int32 width = mBitmap->GetSize().mX;                    // 640: OK
    int32 height = mBitmap->GetSize().mY;                   // 480: OK
    uint32 color = bitmap.wBitsPerPixel = mBitmap->GetColorFormat();       // 24: OK
    ngi::uint32* b = mBitmap->GetAddress();                 // 0x000000: FAIL
The mImageConverter->Load() function returns OK, so it seems that the image is being loaded.

The width, height and color format if retrieved sucessful, but the address is not OK.

Any idea?

Another cuestion:
Is there any way to convert a IBitmap to a CFbsBitmap?