Здравствуйте, Alex_Sudakov, Вы писали:
A_S> { [DllImport("ole32.dll")]
A_S> static extern int CoCreateInstance(
A_S> REFCLSIDВот здесь вылетает ошибка rclsid,
A_S> LPUNKNOWN pUnkOuter,
A_S> DWORD dwClsContext,
A_S> REFIID riid,
A_S> LPVOID * ppv
A_S> );
В программах на C#/.Net нужды использовать CoCreateInstance и подобные/сопустствующие ему функции.
Соответствующие вызовы среда .Net сделает автоматически.
Необходимо просто добавить в References, вкладка COM, тот COM-компонент, который Вы желаете у себя использовать в программе. Автоматически создастся так называемый Interop — вспомогательная либа для компилятора/рантайма .Net. Далее в программе
using НазваниеInteropЛибы;
...........
ТипИзCOM var = new ТипИзСOM();
var.SomeFunction();
...........
В конце никаких free/release/CoUninitialize делать не надо. Среда .Net всё сделает сама.