ntdll.dll の奇妙なエラー Windows 7 Ultimate x64 SP1

ntdll.dll の奇妙なエラー Windows 7 Ultimate x64 SP1

Windows 7 Ultimate X64 SP1 の場合

私は最近、(シェアウェアの)クリップボード管理プログラムを試しています。スパルタン、賢くて便利な機能が満載ですが、習得するのはかなり大変そうです。

インストール後に初めてプログラムを起動したときに、次のエラー メッセージが表示されました。

「プロシージャ エントリ ポイント RtlGetNtSystemRoot がダイナミック リンク ライブラリ ntdll.dll 内に見つかりませんでした。」

エラーメッセージダイアログのタイトルバーにはプログラム名が表示されました。「SpartanClips.exe」です。

これは致命的なエラーではなかったことに注意してください。プログラムは起動でき、私が見る限り、まだ正常に動作しています。

プログラムを起動するたびに、同じエラーメッセージが表示されます。

プログラム フォルダー [C:\Program Files (x86)\Spartan Standard] には、2 つの実行可能ファイルがあります。「SpartanClips.exe」そして「Lnch.exe」2 つ目は、システムのデフォルト ブラウザなどの外部プログラム用のランチャーのようです。

現在、Spartan のメイン ウィンドウの [ヘルプ] メニューには、ブラウザーを起動する必要がある項目が多数含まれています。このようなメニュー項目をクリックすると、上記と同じエラー メッセージが表示されますが、メッセージ ダイアログのタイトル バーにはプログラム名「Lnch.exe」が含まれています。

繰り返しますが、このエラーは致命的ではありません。システムのデフォルト ブラウザーが起動し、適切な Web ページに移動します。

まだプログラムを登録していないにもかかわらず、開発者はできる限りの支援を提供してくれましたが、残念ながら、彼のプログラムはntdll.dllを呼び出していないので、なぜntdll.dllでエラーが発生するのかについても困惑しており、どちらかに問題があるのではないかと示唆しました。カーネル32.dllまたはshell32.dll、なぜなら、プログラム「Lnch.exe」は、デフォルトのブラウザを起動するときにのみ、これら 2 つの dll を呼び出すため、これらのファイルの 1 つ以上が破損している可能性があり、それらを確認して修復するとともに、Spartan プログラム自体の新しいコピーをダウンロードしてインストールする価値があるかもしれないと彼は示唆したからです。

Spartanをアンインストールして再インストールしても何も変わらず、「SFC /SCANNOW」問題は見つかりませんでした。

Spartan プログラム フォルダーには、他の DLL もいくつか含まれています。

ドライブCのボリュームはSYSTEMです

ボリュームシリアル番号は 0CAC-7592 です

C:\Program Files (x86)\Spartan Standard のディレクトリ

2017-04-12 11:28 78,336 ASYCFILT.DLL

2017-03-18 19:18 8,704 COMCAT.DLL

2017-03-18 19:18 27,136 CTL3D32.DLL

2009-07-14 01:15 1,386,496 msvbvm60.dll

2017-04-28 02:19 605,936 OLEAUT32.DLL

2017-04-28 01:33 89,088 OLEPRO32.DLL

2014-12-26 14:40 86,016 SPELL32.DLL

1997-01-16 00:00 29,696 VB5STKIT.DLL

2002-11-15 15:43 225,280 vic32.dll

9 ファイル 2,536,688 バイト

0 ディレクトリ 836,495,990,784 バイト空き

これらの DLL のいくつかはわかっていますが、他のいくつか、特にファイルの日付が非常に古いものについては少し困惑しています。(2009 年のファイル、2002 年のファイル、1997 年のファイルなどがあります)。

Windows イベント ビューアーを使用して ntdll.dll への失敗した呼び出しのログを検索する方法についてヒントをいただければ、さらに詳しい情報を提供できるかもしれません。

また、上記の 9 つの DLL のすべて (またはいずれか) の目的を説明していただけると大変助かります。

最後にもう 1 つお願いがあります。この投稿にもっと便利なタグが必要だと感じた方がいらっしゃいましたら、ご提案いただければ幸いです。

ご協力ありがとうございます!

答え1

ntdll.dllこれは奇妙なエラーではありません。開発者は、RS2 (Creators Update) 以降の Windows 10 でのみ利用可能な関数を次のように呼びました。

#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSYSAPI
PCWSTR
NTAPI
RtlGetNtSystemRoot (
    VOID
    );
#endif // NTDDI_VERSION >= NTDDI_WIN10_RS2

Windows 7 互換バージョンを入手するには、サポートにお問い合わせください。

関連情報