すべての extern メソッドを含む NativeMethods.cs という名前のクラスがあります。
internal static class NativeMethods
{
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool wow64Process);
[DllImport("advapi32.dll", CharSet = CharSet.Auto)]
internal static extern int RegOpenKeyEx(
IntPtr hKey,
string subKey,
int ulOptions,
int samDesired,
out int hkResult);
}
このクラスを含むアセンブリには、対応する .Moles ファイルがあります。アセンブリに含まれる他のすべてのクラスは、このクラスを除いて適切に成形およびスタブできます。
MNativeMethods
迂回に使えるものはありません。クラス名「NativeMethods」に対する特別なケースはありますか (ほとんどありません)? それとも extern メソッドに対する特別なケースですか?