VB转C#重写问题

nan*_*nan 6 .net c# vb.net translation

我在VB中有以下方法声明,需要将其转换为C#:

<DllImport("winspool.Drv", EntryPoint:="OpenPrinterW", _
   SetLastError:=True, CharSet:=CharSet.Unicode, _
   ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function OpenPrinter(ByVal src As String, ByRef hPrinter As IntPtr, ByVal pd As Int16) As Boolean
End Function
Run Code Online (Sandbox Code Playgroud)

特别是我不确定ByRef参数说明符是否等同于refC#.
我也不知道Shared == static是否必须如此extern.可能很多人都精通VB和C#,所以我很感激在C#中提供正确的声明.