kernel32.dll インポートと関数 SetComputerName を介してホスト名を変更しようとしました。SetComputerName 関数
メインクラス:
namespace Castell
{
class Program
{
private static string hostname { get; set; }
setHostname();
private static void setHostname()
{
hostname = "TEST123456789";
int errorcode = ImportDLL.SetComputerName(hostname);
Console.WriteLine(Marshal.GetLastWin32Error());
}
}
}
インポート クラス:
namespace Castell
{
class ImportDLL
{
[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SetComputerName(string hostname);
}
}
Marshal.GetLastWin32Error() の結果は「6」です。つまり: ERROR_INVALID_HANDLE 6 (0x6) ハンドルが無効です。
ハンドルのどこが悪いのかわからない。