C# 在C中设置和获取Windows的DHCP选项#
使用C#,我尝试使用设置dhcp选项12。简而言之,这就是我正在做的:C# 在C中设置和获取Windows的DHCP选项#,c#,windows,dhcp,C#,Windows,Dhcp,使用C#,我尝试使用设置dhcp选项12。简而言之,这就是我正在做的: var dhcpManager = new DHCPManager(dhcpServerName) var hostRecord = new HostInfo { Name = deviceDhcpName, IPv4 = deviceIpAddress, IsReserved = tru
var dhcpManager = new DHCPManager(dhcpServerName)
var hostRecord = new HostInfo
{
Name = deviceDhcpName,
IPv4 = deviceIpAddress,
IsReserved = true,
MAC = deviceMacAddress
};
dhcpManager.SetRecord(dhcpServerScope, hostRecord);
String hostName = deviceDhcpName + "." + dnsZoneName;
var hostnameOpt = new Option
{
ID = 12,
Values = new List<string> { hostName }
};
dhcpManager.SetOption(hostnameOpt, dhcpServerScope, deviceIpAddress);
将引发此异常:
ManageDHCP.DhcpException:DhcpGetOptionInfo
在ManageDHCP.DHCPManager.\u GetOption(OptionTarget目标,UInt32 optionID,字符串子网,字符串reservedIP)
我是C#的新手,我不确定是什么导致了这个异常。是指向ManageDHCP源代码的链接。我做错了什么?我的格式不正确吗?似乎32位dll的setOption函数不起作用(DhcpGetOptionInfo引发异常),因此我切换到64位dll。链接到的页面上提供的示例代码是否起作用?哪个链接?第二个链接是第一个链接中链接的库的源代码。它没有真正显示如何使用它。您的第一个链接:。最后是一个代码示例,它与我想做的事情无关,我想我应该设置选项并创建一个记录,我认为我提供了正确的参数。获取只是检查格式,出于某种原因,enumOptions与我提供的变量一起工作,所以我看到了所有的选项元素,所以至少我得到了一些东西。
Option test = dhcpManager.GetOption(3, dhcpServerScope, deviceIpAddress);