characterization of projective/injective/flat modules via $\operatorname{Hom}$ and $\otimes$ Let $R$ be a commutative unital ring and $M$ an $R$-module. Then $M$ is projective iff $\operatorname{Hom}(M,-)$ is exact, injective iff $\operatorname{Hom}(-,M)$ is exact, and flat iff $M\otimes-$ is exact. Furthermore, $M$ is faithfully flat when every chain complex is exact iff the induced $M\otimes-$ chain complex is exact. 
Question 1: What are the modules with the property:


*

*every chain complex is exact iff the induced $\operatorname{Hom}(-,M)$ chain complex
is exact;

*every chain complex is exact iff the induced $\operatorname{Hom}(M,-)$ chain complex is exact.


Is there a notion faithfully projective/injective, and does it coincide with projective/injective?
Question 2: Why is $M$ faithfully flat precisely when $(\ast)$ every map $A\to B$ is injective iff $A\!\otimes\!M\to B\!\otimes\!M$ is injective? I know that $-\!\otimes\!M$ is right exact, so it preserves epimorphisms, but if we assume $(\ast)$, how does $A\!\otimes\!M\to B\!\otimes\!M$ surjective imply $A\to B$ surjective?

Regarding question 2, consider the cokernel $C$ of $A \to B$.  If $A\otimes M \to B\otimes M$ is surjective, you will easily check that $C \otimes M = 0$,
and then deduce that $C = 0$.
