   About the infamous Alt+Tab Direct3D management
  I've been working about this recently, been checking tutorials around, like the Drunken Hyena one. I think it is pretty clear to me how it is done, however i am uncertain about the resources to manage in the meantime. My program is 2d, not using any vertex or anything, i only have textures. To my understanding, i check TestCooperativeLevel() of the D3D device every frame, i render if everything is fine. If the HRESULT of TestCooperativeLevel() returns D3DERR_DEVICELOST, i free the resources.Now all my textures(i load them all at once) are into a SpriteSet class, textures are indexed so i make a cicle and i release them with this member function:void SpriteSet::FreeTexture(int index){    if (SpriteSet::Texture[index] != NULL)    {    SpriteSet::Texture[index]->Release();    SpriteSet::Texture[index] = NULL;    }};then once the HRESULT of TestCooperativeLevel() returns D3DERR_DEVICENOTRESET, i reset the device and re-initialize the resources in the same way i initialized them before.Is that about right? Actually i've done all of this and it doesn't work. Am i misunderstanding what the resources are, do i need to release something else? Maybe i have problems because the textures are inside a class(initialized through a pointer by the way)?Any help would be greatly appreciated!   
  You'd generally not free the resources until the device is ready to reset (MSDN alludes to this, and it's how I've always done it). So when you get D3DERR_DEVICELOST you just pause rendering. It's not until you get D3DERR_DEVICENOTRESET that you free your resources, reset the device, and recreate everything.As for what you need to free - everything in D3DPOOL_DEFAULT. If you put the device into debug mode (from the d3d control panel) it'll tell you if you have forgotten to free resources when you call Reset.   ;  Thanks for your reply! You made me realize that i don't need to free anything while using D3DPOOL_MANAGED. Instead, i need to use the methods OnResetDevice and OnLostDevice of ID3DXSprite.   