掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WNetAddConnection2でエラーが発生します。 (ID:147814)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>「プロシージャエントリポイントwcscat_sがダイナミックリンクライブラリ > ntdll.dllに見つかりませんでした。」と意味不明なエラーが発生して まず、プログラム中で wcscat_s を呼び出している個所はありますか? あるのなら、文字列連結の際に wcscat_s API を使うことを止めて、かわりに Marshal クラス等あるいは RtlMoveMemory API を用いて連結させるように コードを書き換えてみてください。 一方、もしも wcscat_s というコードを使っている個所が無いのだとすれば、 恐らくはそれを WNetAddConnection2 API などが内部的に呼び出しているものと 推測しますが、それが内部エラーになってしまうということは、その OS 環境は いわゆる「DLL Hell」を引き起こしている可能性が高いと考えられます。 DLL Hell とは、OS の複数のDLL/EXE群のうち、一部の DLL のみが 上位バージョンまたは下位バージョンに置き換わってしまう事によって、 バージョン互換性の不整合を引き起こしている状態を指しています。 # 出所不明のアプリやDLLをインストールしたり、インストーラを使わずに # 手動コピーするなどの動作により、あるDLLは上位バージョンなのに、 # 対応する別のDLLが下位バージョンのままになっているなど。 Win7 (32bit)版の ntdll.dll や Win7 (64bit)版の ntdll.dll では、 wcscat および wcscat_s という API が公開されていますが、手元の Windows 2000 や XP版の ntdll.dll を見る限りでは、wcscat という API 関数ならば公開されているものの、wcscat_s という名前の関数は 公開されていないようでした。 XP 用の ntdll.dll で、wcscat_s を含んでいる物があるかどうかは分かりませんが、 もしも自分で wcscat_s を呼んでいるわけでは無いのなら、OS 環境自体が 不安定な構成になっていそうなので、OS から再インストールしなおすか、 もしくは、新規に用意した検証用の仮想OS等で実行されることをお奨めします。 いずれにせよ、実際に検証可能なコードが提示されているわけでは無いため、 コードの問題なのか環境の問題なのかは判断できませんけれども。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.