   GetDeviceCaps returns D3DERR_NOTAVAILABLE
  We're doing final testing on our first game, and we're getting some really funny bug messages from GeForce2 cards.Looking at the log-file, what seems to be happening is that the device is unable handle the default adapter:HRESULT hRes = m_pD3D->GetDeviceCaps(D3DADAPTER_DEFAULT,// Default adapterD3DDEVTYPE_HAL,// we're interested in the HW card&m_d3d9Caps);// Fill'er'upif (FAILED(hRes)){   _LOG(MSG_ERROR, "Unable to retrieve graphics card capabilities");   _LOG(MSG_ERROR, "DX Error: " << GetDXError(hRes));   }The same problem follows through to creating the device as well (it's unable to initialize it). It seems to happen on GF2 family and TNT2s as well. I assume GF1 and TNT1 have the same problem, though we haven't received any log-messages on those.Anyone have any ideas?Allan   
  I haven't seen this problem but it might seem that the device you are querying might not support this technique and thus throwing you with an exception. Try  using the D3DDEVTYPE_REF or D3DDEVTYPE_SW and see if that works.I hope this helps.Take care.[Edited by - Armadon on December 14, 2005 10:52:00 AM];  Also, perhaps make sure your seeing up your m_d3d9Caps correctly.   ;Quote:Original post by ArmadonI haven't seen this problem but it might seem that the device you are querying might not support this technique and thus throwing you with an exception. Try getting using the D3DDEVTYPE_REF or D3DDEVTYPE_SW and see if that works.I hope this helps.Take care.There are no SW devices, and REF is a developer only thing.  HAL is the only thing that should be checked.  I've never used ADAPTER_DEFAULT, but as it's just a define for adapter 0, so it should work fine.Does dxdiag work on these machines?  Do other 3D apps?  Generally D3D works fine without initializing COM, but it's worth a shot, as technically, you're supposed to be doing it.  Try putting a CoInitialize() at the beginning of your app.If the samples work, and your app doesn't, I'd suggest following through what the samples do that you're not doing, though I can't imagine what the problem could be.   