C++の関数がポインタを使用する場合には、C#のコード内ではそれをアンセーフとして扱う必要があります。またポインタはCLSに準拠していないため、CLSCompliant属性でそれを明示する必要があります。
[CLSCompliant( false )] [DllImport( "sample.dll", EntryPoint = "MethodName" )] public unsafe static void MethodName( int* p );