С точки зрения разработки приложений winapi код не будет чем то отличаться, просто вместо стартовой функции main будет функция
dllmain буквально просто меняешь стартовую функцию, свойства проекта и вот у тебя уже dll.
НО загружать эту dll сторонние приложения должны уметь. А они в свою очередь могут потребовать чтобы эта dll была организована особым образом, т.е. имела определенные функции, использовала определенные типы переменных и т.п.
Т.е. нужно читать документацию этого языка, подробно с примерами.
Достаточно давно майкрософт предложила универсальный инструменты OLE, COM и фреймворк
ActiveX специально чтобы был стандарт для межпроцессорного взаимодействия, не важно на чем эти процессы написаны, и до сих пор активно его поддерживает в своих продуктах, хотя не во всех.
Технология очень удобная для использования, хотя наверное очень 'многословная' для программиста.
К сожалению/или нет, на эту технологию все забили более чем полностью, и изобретают все свое. Могу предположить из-за лицензии использования (как и все, за что берется майкрософт и их маркетологи, превращают отличную идею в говно), но этот момент нужно уточнять.