title: What are possible causes of IDirect3DVertexBuffer9::Lock failing?
body: <p>In error reports from some end users of our game I have quite often seen following behaviour: <code>IDirect3DVertexBuffer9::Lock</code> fails, returned error code is <code>D3DERR_NOTAVAILABLE</code>.</p>
  <p>Once this happens, quite frequently (but not always) it is followed by the <code>CreateTexture</code> or <code>CreateVertexBuffer</code> call failing with error <code>D3DERR_OUTOFVIDEOMEMORY</code>.</p>
  <p>What are possible reasons for a vertex buffer lock failure? Could the virtual memory address space be exhausted, or what?</p>