そこでVB.NET、C#用のAPIビューアがないものかと思い探したところ、"Pramod K. Singh"さん作の"API Viewer"というツールを見つけました。このAPI Viewer"はVB6の"APIビューア"で使われていた"WIN32API.TXT"を読み込むことにより使用します。VB.NETだけでなく、C#にも対応しており(こちらが主のようですが)、大変便利です。
[APIビューア]
Public Declare Function WriteFile Lib "kernel32" Alias "WriteFile" _
(ByVal hFile As Long, lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, _
lpOverlapped As OVERLAPPED) As Long
[VB.NET]
Public Declare Function WriteFile Lib "kernel32" Alias "WriteFile" _
(ByVal hFile As Integer, lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Integer, _
lpNumberOfBytesWritten As Integer,<MarshalAs(UnmanagedType.Struct)> _
ByRef lpOverlapped As OVERLAPPED) As Integer
[C#]
[DllImport("kernel32.dll")]
public static extern int WriteFile(int hFile,int lpBuffer,
int nNumberOfbyte sToWrite,int lpNumberOfbyte sWritten,
[MarshalAs(UnmanagedType.Struct)] ref OVERLAPPED lpOverlapped);
このように、私が試したところでは、VB.NETで出力した時、正しくないコードが出力されることが何回かありました。上の例でもVB.NETでは、「lpBuffer As Any」となっており、間違えています。C#での出力は問題ないようです。