   IDirect3DVertexBuffer9
  if I create the interface and get a pointer.then I use lock method lock entirely buffer get a pointer too.My question: the two pointer is the same? if I create buffer by static buffer,the pointer point video card or temp system memory? because I know the c++ code can not access video card directly. it is possible that I can access video card by pointer directly without throught driver of card?   
  No, those two pointers are not the same. The pointer for the IDirect3DVertexBuffer9 points to an instance of an interface (really, just a class) which is used to access and manage the vertex data resource.The pointer returned from Lock is to a memory buffer containing the actual resource data (in this case, vertex data).You may also wish to do some research on Virtual Memory and memory addressing in Windows.   ;  When you create the interface, you get a return value that points to the VertexBuffer. It represents the vertex buffer itself as an object. When you are actually locking the VertexBuffer you will get a pointer to a memory buffer containing the vertex data.I would assume that they are not the same.I hope this helps.Take care.   