Couple of errors.
1) long in C++ on Windows generally compiles down into 4 byte number so you should use Int32. This applies to the 1rst, 3rd, 5th and 6th parameters.
2) The second parameter is tricky. If you intedent for the method to modify the pBuf parameter then use a StringBuilder. If not use an IntPtr.
3) Is FRAME_INFO a struct or class in your C# code? If it's a class the ref is unnecessary.