Это не так, вы просто предоставляете объявление [DllImport] в своем коде C #. Точно так же, как вы найдете их на pinvoke.net или в таком инструменте, как P / Invoke Interop Assistant. Чтобы узнать, как на самом деле использовать функцию API, необходимо изучить код C или C ++. И общее понимание того, как работает Windows API.
Лучшее место для начала - это оригинальная книга Петцольда "Программирование Windows". Вы можете найти примеры исходного кода на C / C ++ в документации Windows SDK и многих примерах, которые включены в полную версию SDK. И, конечно, в Интернете, просто ища имя функции. По иронии судьбы, число сэмплов, которые вы найдете в Интернете в эти дни и написанные на управляемом языке, начинает превосходить по численности сэмплы C / C ++. Остерегайтесь объявлений VB6 (ключевое слово Declare), также широко доступных, их типы несовместимы с .NET.
Такие сайты, как codeplex.com и codeproject.com, являются хорошим местом для поиска библиотек с упаковщиками управляемых классов вокруг вызовов нативного API. Обычно вы просто используете библиотеку.
И последнее, но не менее важное: stackoverflow.com - отличный ресурс;)