Are there any general results on when a closed subscheme X of a quasi-projective smooth scheme M can be written as the zero-set of a section of a vector bundle E on M? To put it in a diagram: When is X the fiber product of M -> E <- M , where one arrow is the zero section and the other arrow is the section I'm looking for.

If this is not possible, can X be written as a degeneracy locus?