Pourquoi utiliser l'Attribut DllImport comme apposées à l'ajout d'une référence?

J'ai vu un couple d'exemples comme ceci:

[DllImport("user32.dll")]
static extern bool TranslateMessage([In] ref Message lpMsg);

[DllImport("user32.dll")]
static extern IntPtr DispatchMessage([In] ref Message lpmsg);

Mais, ce que je ne comprends pas, c'est pourquoi quelqu'un n'aurait rien gagné à juste référencer la DLL comme ils le font d'autres bibliothèques? La MSDN états: "L'attribut DllImport est très utile lors de réutiliser des code non managé dans une application gérée. Par exemple, votre application gérée pourriez avoir besoin de faire des appels à l'API WIN32 non gérée." Mais, est-ce que le fait de dire qu'il n'est pas utile de faire référence à un non géré dll ou impossible autrement?

OriginalL'auteur m-y | 2010-07-23