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 に答える