Если ваша функция C выглядит следующим образом:
int Foo(void* p, DWORD dwVal);
и вы просто переписываете ее на C #, то в большинстве случаев вам нужно что-то вроде этого:
int Foo(object obj, uint val);
Но если вы делаете Interops, используйте P / Invoke, как предложено выше.Хорошее место для начала в этом случае - http://www.pinvoke.net/