Зачем использовать атрибут DllImport для добавления ссылки?

Я видел пару примеров, таких как это:

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

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

Но что я не понимаю, так это почему кто-то делает это, а просто ссылается на DLL, как это делают другие библиотеки? В MSDN говорится: «Атрибут DllImport очень полезен при повторном использовании существующего неуправляемого кода в управляемом приложении. Например, вашему управляемому приложению может потребоваться выполнить вызовы к неуправляемому API-интерфейсу WIN32». Но разве это говорит, что бесполезно ссылаться на неуправляемую dll или невозможно иначе?

Ответы на вопрос(4)

Ваш ответ на вопрос