ntdll.dll Windows 7 Ultimate x64 SP1의 이상한 오류

ntdll.dll Windows 7 Ultimate x64 SP1의 이상한 오류

윈도우 7 얼티밋 X64 SP1

나는 최근에 (셰어웨어) 클립보드 관리 프로그램을 사용해 보았습니다.스파르타 사람,영리하고 유용한 기능이 많이 포함되어 있지만 학습 곡선이 꽤 가파른 것 같습니다.

프로그램을 설치한 후 처음 시작했을 때 다음과 같은 오류 메시지가 나타났습니다.

"프로시저 진입점 RtlGetNtSystemRoot를 동적 링크 라이브러리 ntdll.dll에서 찾을 수 없습니다."

오류 메시지 대화 상자의 제목 표시줄에는 프로그램 이름이 표시되었습니다."SpartanClips.exe."

이것은 치명적인 오류가 아니라는 점에 유의해야 합니다. 프로그램은 여전히 ​​시작할 수 있었고 제가 보기에는 여전히 잘 작동합니다.

프로그램이 시작될 때마다 동일한 오류 메시지가 나타납니다.

프로그램 폴더 [C:\Program Files (x86)\Spartan Standard]에는 2개의 실행 파일이 있습니다."SpartanClips.exe"그리고"Lnch.exe"두 번째는 시스템 기본 브라우저와 같은 외부 프로그램의 실행 프로그램인 것 같습니다.

이제 Spartan 메인 창의 "도움말" 메뉴에는 여러 항목이 포함되어 있으며 대부분의 항목은 브라우저를 실행해야 합니다. 이러한 메뉴 항목을 클릭하면 위와 동일한 오류 메시지가 표시되지만 제목 표시줄에는 메시지 대화 상자에는 프로그램 이름 "Lnch.exe"가 포함되어 있습니다.

다시 말하지만, 이 오류는 치명적이지 않습니다. 시스템 기본 브라우저가 실행되고 적절한 웹 페이지로 이동됩니다.

아직 프로그램을 등록하지 않았음에도 불구하고 개발자는 가능한 한 많은 도움을 주려고 노력했지만 불행히도 자신의 프로그램이 지원되지 않는데 왜 ntdll.dll에 오류가 있어야 하는지 의아해하기도 했습니다. ntdll.dll을 호출했는데 그는 둘 중 하나에 문제가 있을 수 있다고 제안했습니다.kernel32.dll또는shell32.dll,"Lnch.exe"라는 프로그램은 기본 브라우저를 시작할 때만 이 두 dll을 호출하고, 그는 해당 파일 중 하나 이상이 손상되었을 수 있으므로 확인하고 복구할 가치가 있다고 제안했기 때문입니다. Spartan 프로그램 자체의 새로운 사본을 다운로드하고 설치하는 것과 같습니다.

이제 Spartan을 제거하고 다시 설치해도 아무런 차이가 없었고 실행도 되지 않았습니다."SFC /스캔나우,"아무런 문제도 발견되지 않았습니다.

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 중 일부가 무엇인지는 알고 있지만 다른 일부 DLL, 특히 파일 날짜가 매우 오래된 DLL에 대해서는 약간 의구심이 듭니다. (2009년의 파일 하나, 2002년의 파일, 1997년의 파일이 하나 더 있습니다)!

누군가 Windows 이벤트 뷰어를 사용하여 ntdll.dll에 대한 호출 실패 로그를 찾는 방법에 대한 힌트를 줄 수 있다면 추가 정보를 제공할 수 있을 것입니다.

또한 위에 나열된 9개의 DLL 전체(또는 일부)의 목적에 대해 누군가 나에게 설명을 해줄 수 있다면 큰 도움이 될 것입니다.

마지막 요청: 이 게시물에 더 유용한 태그가 필요하다고 생각하시는 분이 계시다면 제안해 주시면 매우 감사하겠습니다.

도움을 주셔서 미리 감사드립니다!

답변1

이것은 이상한 오류가 아닙니다. 개발자는 ntdll.dllRS2(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 호환 버전을 얻으려면 지원팀에 문의하세요.

관련 정보