If you want a direction vector that starts from firer
and points at target
just subtract firer
from target
ie :
direction = target - firer;
There is D3DXVec3Subtract for it in D3DX lib.
If you want to have a unit normal, which is a vector that has a length of 1 then normalize it with D3DXVec3Normalize.
So you will have :
D3DXVECTOR3 TargetVector(D3DXVECTOR3 *target, D3DXVECTOR3 *firer)
{
D3DXVECTOR3 direction;
D3DXVec3Subtract(&direction, target, firer);
D3DXVec3Normalize(&direction, &direction);
return direction;
}