I want to change the the D3DVECTOR struct in the Direct x api but if I define a struct like this:

typedef struct VECTOR3 : D3DVECTOR
It will say it isn't a D3DVECTOR if I try to use it were a D3DVECTOR is needed. Is there a way to change it, or do I need to do it this way:

typedef struct VECTOR3
	float x, y, z;


#include <D3d9.h>
The #define line makes it so in the D3d9.h file won't declare D3DVECTOR, and than I am able to make it. This works fine but I am wondering is this is safe, okay, and logical to do.