没读过相关的书,只是在用的比较多,在应用中学习的,最主要的还是VC和C#数据类型的对应关系,主要看数据类型所占的字节数是否相同,通过System.Runtime.InteropServices命名空间下的DllImport,把VC的DLL引用过来,通常SDK里边会提供一些方法、枚举、常量、委托和事件,把VC里的枚举、常量、委托和事件翻译成C#的,一定要注意数据类型,数据类型对照表,可以百度出来,方法引用过来的时候名字要一模一样,参数类型从VC翻译成C#里的类型。
如果不想用复杂类型,如枚举,可以通过用VC做一次封装,调用自己封装的DLL,传递简单类型。
说的比较空洞,希望对你有一定的帮助。