I tried that with the following code:

Code:
#include <acknex.h>
#include <d3d9.h>


FONT* standard_font 	= "Arial#20b";
STRING* memo 		= "not available";

TEXT* dx =
{
  layer = 1;
  pos_x = 400;
  pos_y = 100;
  font  = standard_font;
  string = memo;
  flags = CENTER_X | TRANSLUCENT | SHOW;
	
}

void main() {

	video_mode 	=  8;	
	video_depth 	= 32;		
	fps_max		= 60;
	d3d_texdepth 	=  4;	
	
	
	STRING* tmp	="0";
	
	level_load(NULL);
		
	while(1){
		
		LPDIRECT3DDEVICE9 pd3dDev;
     	        pd3dDev = (LPDIRECT3DDEVICE9)draw_begin();
   
     	        if (!pd3dDev) return;
	
		long mem = (LPDIRECT3DDEVICE9)pd3dDev)->GetAvailableTextureMem();
		
		//printf("freeTextureMem: %i",mem);
	
		str_for_int(tmp,mem);
		str_cpy(memo,tmp);
	
		wait(1);	
	}
	
}



The result is: -1360003072

MSDN says that GetAvailableTextureMem() returns the values in Megabytes?!?

So maybe there is something strange....