First, "request" is misspelled.
Second, a c# string is unicode (16 bit). A VC6 char* is ASCII (8 bit). Your MarshalAs should be using MarshalAs(UnmanagedType.LPStr)
Third, your return type isn't a string, it's an int, and should be marshaled as MarshalAs(UnmanagedType.I4)
,