3

我正在尝试在编译为 64 位的 .net 进程中调用DhcpGetClientInfo

[DllImport(@"dhcpsapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern UInt32 DhcpGetClientInfo(
    String ServerIpAddress,
    ref DHCP_SEARCH_INFO SearchInfo,
    out IntPtr ClientInfo);

需要注意的几点

  • 当进程编译为 32 位时,它可以工作。
  • 返回的错误代码是 20013。根据错误代码是“访问 DHCP JET 数据库时发生错误。有关此错误的更多信息,请查看 DHCP 服务器事件日志。” 但是,服务器上的事件日志中没有任何内容。我还确保启用了所有 DHCP 特定日志,并且那里也没有出现任何内容。
4

1 回答 1

0

您的问题很可能是使用 UInt32。顺便说一句,我相信 UInt32 已被弃用(不符合 CLS)。

于 2012-11-01T15:58:23.153 回答